JS array.splice 方法的定义(来自MDN):
array.splice(索引, howMany[, element1[, ...[, elementN]]])
所以,你的remove
函数应该写成:
$scope.remove = function(index){
$scope.students.splice(index, 1);
};
演示柱塞
编辑:
我想你想通过单击“x”按钮来删除这些项目,并且 ng-click 指向remove
函数。
要通过单击复选框来删除项目,您应该将复选框 ngModel 设置为学生属性,然后将 $watcher 放在学生身上,这将删除那些将此属性设置为 true 的学生:
<tr class="color2" ng-repeat="student in students | filter:search | filter:new_search">
<td>{{student.Rollno}} <input type="checkbox" ng-model="student.checked"> </td>
<td>{{student.Name}}</td>
<td>{{student.Uni}} <button ng-click="remove($index)">x </button></td>
</tr>
$scope.$watch('students', function(students){
if(!students){
return;
}
$scope.students = students.filter(function(student){
return !student.checked;
});
}, true);
普努克