简单的待办事项列表,但每个项目的列表页面上都有一个删除按钮:
相关模板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)
。
虽然数据库已成功删除,但我不能从作用域中拉出此项目,并且我不想对服务器进行方法调用以获取客户端已有的数据,我只想将此人从作用域中删除。
有什么想法吗?
发布于 2013-01-10 12:08:34
您必须在persons
数组中找到person
的索引,然后使用数组的splice
方法:
$scope.persons.splice( $scope.persons.indexOf(person), 1 );
发布于 2013-09-12 02:07:47
$scope.removeItem = function() {
$scope.items.splice($scope.toRemove, 1);
$scope.toRemove = null;
};
这对我来说很有效!
发布于 2015-04-15 02:29:08
对于,@Joseph Silber的可接受答案不起作用,因为indexOf返回-1。这可能是因为Angular添加了一个hashkey,这对于我的$scope.items和我的项目是不同的。我试图用angular.toJson()函数来解决这个问题,但它不起作用:(
啊,我找到原因了..。通过查看$scope.items,我使用chunk方法在表中创建了两列。抱歉的!
https://stackoverflow.com/questions/14250642
复制相似问题