当我使用 ng-table 对某些内容进行排序或过滤时,它的 $index 不会更新。如果我有 4 个项目在 ng-click 中使用 deleteRow($Index) 进行 ASC 排序,那么 $index 将为 0 到 3。现在如果我对它们进行 DESC 排序,那么第一行仍然有 $index = 3,尽管它应该是0. 所以我尝试删除第一行,它最终删除了最后一行,因为 $Index 仍然设置为 3。当我尝试删除过滤的行时也会发生同样的事情。
问问题
1550 次
1 回答
4
如果您使用ng-repeat
with orderBy
,请尝试使用 fromthis post
删除项目的方法。
可能看起来像这样:
HTML:
....
<tr ng-repeat="user in users | orderBy:'name':true">
<td data-title="'Name'">
<span ng-bind="user.name"></span>
<button ng-click="remove(user)"></td>
</tr>
...
在控制器中:
$scope.remove = function(user){
$scope.users.splice($scope.users.indexOf(user), 1);
}
于 2013-12-20T19:05:25.163 回答