我正在尝试在用户与之交互时使资源列表保持最新。使用 AngularJS ngResource 我最初使用它的query
方法获取列表。然后每个资源都有一个$remove
(或$delete
)方法,对吗?但是当被触发时,资源不会从返回的列表中删除query
。
这要求很多,我知道,但我几乎希望它能为我做一切。保存它,我怎么能做到这一点。资源本身是否会发出某种事件?它有我可以删除的属性$watch
吗?我怎么知道一个资源是$remove
'd 所以我可以把它从列表中拼接出来?
谢谢。
我正在尝试在用户与之交互时使资源列表保持最新。使用 AngularJS ngResource 我最初使用它的query
方法获取列表。然后每个资源都有一个$remove
(或$delete
)方法,对吗?但是当被触发时,资源不会从返回的列表中删除query
。
这要求很多,我知道,但我几乎希望它能为我做一切。保存它,我怎么能做到这一点。资源本身是否会发出某种事件?它有我可以删除的属性$watch
吗?我怎么知道一个资源是$remove
'd 所以我可以把它从列表中拼接出来?
谢谢。
您必须使用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>
只需使用成功回调函数:
instance.$action([parameters], [success], [error])
对你来说,我猜这会是这样的:
myResource.$delete([parameters], function () {
//delete was successful
});