シンプルな ToDo リストですが、リスト ページには各項目の削除ボタンがあります。
関連するテンプレート 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>
関連するコントローラーメソッド:
$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)
。
データベースは正常に削除されましたが、このアイテムをスコープから取得することはできません。また、クライアントがすでに持っているデータに対してサーバーへのメソッド呼び出しを行いたくありません。スコープからこの 1 人の人物を削除するだけです。
何か案は?
ベストアンサー1
person
配列内ののインデックスを見つけてpersons
、配列のsplice
方法:
$scope.persons.splice( $scope.persons.indexOf(person), 1 );