Простой список ToDo, но с кнопкой удаления на странице списка для каждого элемента!
1. Соответствующий шаблон html:
<tr ng-repeat="person in persons">
<td>{{person.name}} - # {{person.id}}</td>
<td>{{person.description}}</td>
<td nowrap=nowrap>
<a href="#!/edit"><i class="icon-edit"></i></a>
<button ng-click="delete(person)"><i class="icon-minus-sign"></i></button>
</td>
</tr>
2. Релевантный метод контроллера:
$scope.delete = function (person) {
API.DeletePerson({ id: person.id }, function (success) {
**// I NEED SOME CODE HERE TO PULL THE PERSON FROM MY SCOPE**
});
};
Я пробовал $scope.persons.pull(person)
Я попробовал $scope.persons.remove(person)
Хотя удаленный удаленный файл удален, я не могу вытащить этот элемент из области видимости, и я не хочу, чтобы вызов метода на сервер для данных был уже у клиента, я просто хочу удалить этого человека из области видимости.
Любые идеи?
Решение:
-
Для индекса использовался правильный подход в HTML:
-
Однако просто изменить параметр angular на (idx) было недостаточно, мне пришлось создать экземпляр этого человека для отправки на сервер для удаления.
$scope.delete = function (idx) { var delPerson = $scope.persons[idx]; API.DeletePerson({ id: delPerson.id }, function (success) { $scope.persons.splice(idx, 1); }); };
Спасибо, ребята!
Angular БОЛЬШОЙ, и я призываю всех, кто еще не проверил это! };