当用户与之交互时,我试图保持最新的资源列表。使用AngularJS ngResource,我最初使用它的query
方法获取列表。每个资源都有一个$remove
(或$delete
)方法,对吗?但是当被触发时,资源不会从query
返回的列表中删除。
我知道这要问很多,但我几乎希望它能为我做所有事情。除此之外,我该怎么做。资源本身会发出某种事件吗?它具有我可以$watch
删除的属性吗?我怎么知道一个资源是$remove
,所以我可以将它从列表中剪出?
谢谢。
最佳答案
您必须使用Array
的splice
方法将其删除($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>