AngularJS ngResource удалить событие

Я стараюсь обновлять список ресурсов, когда пользователь взаимодействует с ним. Используя AngularJS ngResource, я сначала получаю список, используя его query метод. Каждый ресурс имеет $remove (или же $delete) метод, верно? Но при запуске ресурс не удаляется из списка, возвращенного из query,

Это требует много, я знаю, но я почти надеялся, что это сделает все для меня. Сохрани это, как я мог это сделать. Создает ли сам ресурс какое-то событие? Есть ли у меня удаленное свойство, которое я могу $watch? Как бы я узнал, что ресурс был $removeтак что я могу склеить его из списка?

Благодарю.

2 ответа

Решение

Вы должны использовать Array"s 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
});
Другие вопросы по тегам