【发布时间】:2013-08-20 14:45:12
【问题描述】:
我正在尝试从数组$scope.items 中删除元素,以便在视图ng-repeat="item in items" 中删除项目
这里只是为了演示目的,这里有一些代码:
for(i=0;i<$scope.items.length;i++){
if($scope.items[i].name == 'ted'){
$scope.items.shift();
}
}
如果有名称 ted,我想从视图中删除第一个元素,对吗?它工作正常,但视图重新加载所有元素。因为所有的数组键都发生了变化。这在我正在创建的移动应用程序中造成了不必要的延迟..
谁有解决这个问题的办法?
【问题讨论】:
-
我已经成功使用 splice 修改了一个用于 ng-repeat 的数组,没有奇怪的副作用。
-
看起来items是array的array,或者不能调用items[i].shift();
-
您好,感谢您的回复。抱歉,我的问题代码中有错别字,我刚刚更新了它。
-
那为什么要从数组中删除第一个元素而不是i位置的元素呢?
-
3行就能解决你的问题,只需在控制器中添加$filter
标签: angularjs scope angularjs-ng-repeat