【发布时间】:2013-04-22 09:57:19
【问题描述】:
我有以下问题:
我创建了一个允许用户从列表中删除项目的列表,如下所示:
当用户点击垃圾桶图标时,该项目被正常删除。 问题是当用户使用顶部的过滤器时。
在这种情况下,如果我删除数字 6565(原始列表中的索引 4,过滤列表中的 1),删除的项目在原始列表的索引 1 上,导致删除编号为 #564456 的寄存器
这是我的点击删除调用:
$scope.deleteOwn = function (uuid) {
console.log(uuid);
var coupon = $scope.ownsCoupons[uuid];
Coupon.delete({'id' : coupon.uuid}, function () {
$scope.ownsCoupons.splice(uuid, 1);
});
}
这是我的 html 模板:
<td><a href="" ><i class="icon-trash" ng-click="deleteOwn($index)"></i></a></td>
我也尝试使用代码:$scope.ownsCoupons.splice(coupon, 1);但没有成功。
有人知道怎么解决吗?
我使用以下参考编码:AngularJS How to remove an Item from scope
[编辑]
我为此创建了一个 Plunker:http://plnkr.co/edit/Fhxp6uZyTJCY05CAQ7yA?p=preview
【问题讨论】:
-
您不能中继索引,而是使用对象引用。不知道为什么 splice 不适合你。您需要共享更多代码(最好与 plunker 一起使用),以便人们可以为您提供更多帮助。
-
感谢您的回复!我已经用 plunker 更新了问题。
标签: angularjs angularjs-ng-repeat