我知道ng-repeat内部的不同作用域,我对此深有感触,但是我仍然不能完全去除li的选定项(我不使用$ index)而不是将来的可排序对象
<li class="m-1" ng-repeat="students in students.students">
<span>{{students.student}}</span> :knowledge is - <span>{{students.knowledge}}</span>
<button type="button" class="btn btn-danger ml-2" ng-click="students.removeItem(item)">Delete</button>
</li>
和我的函数在li-element后面工作,但仅删除最后一个元素
vm.removeItem = function (item) {
vm.students.splice(vm.students.indexOf(item), 1);
}
我在ng-repeat中不需要$ parent
答案 0 :(得分:2)
也许您正在尝试执行以下操作:
<li class="m-1" ng-repeat="student in students.students">
<span>{{student.name}}</span> :knowledge is - <span>{{student.knowledge}} </span>
<button type="button" class="btn btn-danger ml-2" ng- click="removeItem(student)">Delete</button>
</li>
$scope.removeItem = function (item) {
this.students.students = this.students.students.filter(student => student !== item)
};
这是一个working demo
老实说,我不明白你为什么要让学生反对学生。 另外,为什么ng-repeat中的每个项目都称为:学生?
我想每个项目都需要变量名student
。