如何从 angular.js 数组中删除元素/节点 [英] How to remove elements/nodes from angular.js array
问题描述
我正在尝试从数组 $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
: $scope.items.splice(index, 1);
.这是一个例子:
HTML
<html data-ng-app="demo"><头><script data-require="angular.js@1.1.5" data-semver="1.1.5" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js"></script><link rel="stylesheet" href="style.css"/><script src="script.js"></script>头部><身体><div data-ng-controller="DemoController"><ul><li data-ng-repeat="项目中的项目">{{物品}}<button data-ng-click="removeItem($index)">Remove</button><input data-ng-model="newItem"><button data-ng-click="addItem(newItem)">添加</button>