当用户与之交互时,我试图保持最新的资源列表。使用AngularJS ngResource,我最初使用它的query方法获取列表。每个资源都有一个$remove(或$delete)方法,对吗?但是当被触发时,资源不会从query返回的列表中删除。

我知道这要问很多,但我几乎希望它能为我做所有事情。除此之外,我该怎么做。资源本身会发出某种事件吗?它具有我可以$watch删除的属性吗?我怎么知道一个资源是$remove,所以我可以将它从列表中剪出?

谢谢。

最佳答案

您必须使用Arraysplice方法将其删除($index是ng-repeat的隐式索引)。

$scope.removeItem = function (index) {
    $scope.items[index].$delete();
    $scope.items.splice(index, 1);
}


然后在您的HTML中

<a ng-click="removeItem($index)">remove me</a>

07-24 09:22