Страницы

Поиск по вопросам

понедельник, 8 июля 2019 г.

Удалять элемент из массива при удалении o.$delete() элемента $resource

AngularJS 1.6.x
В контроллере пишу:
var Vehicle = $resource(prfx+'vehicles/:Id', {Id:'@id'}); var vehicles = Vehicle.query( function(){ $scope.list = vehicles; $scope.selected = [vehicles[vehicles.length-1]]; } );
Выбор элемента для редактирования сделал так:

В шаблоне хочется написать простые кнопки

формочки

Метод DELETE исполняется на сервере и вроде бы ресурс можно удалить из модели. Но он не удаляется сам.
Мне необходимо добавлять свой обработчик удаления или можно вызвать этот метод так чтоб всё сработало?


Ответ

Так просто не получится, так как операции над отдельным объектом никак не влияют на список в котором он находится.
Для решения стоит завести функцию, принимающую конкретную опцию, и в этой функции при успешном завершении $delete можно удалять опцию из списка.
Например так:
$scope.removeOption = function removeOption(list,option){ option.$delete(function success(){ // удаление объекта option из нужного списка }); }
и вызов в разметке

Комментариев нет:

Отправить комментарий