ng-click和ng-repeat-angularJs不起作用

时间:2018-11-03 17:44:38

标签: javascript angularjs

我知道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

1 个答案:

答案 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