模板如下所示:
<tr ng-repeat="revision in revisions" id="revision_{{revision.id}}">
<td><a href="#/wiki/revision/{{ revision.id }}">{{ revision.title }}</a></td>
<td>(<a href="#/wiki/revision/edit/{{ revision.id }}">Edit</a> | </td>
<td><a ng-click="revisionDisappear($index)">Delete</a>)</td>
</tr>
Controller 是这样的:
$scope.revisionDisappear = function($index) {
$scope.revision.revisions[0].splice($index, 1);
};
我得到的错误是:无法读取未定义的属性“修订版”
,因此我认为问题出在 Controller 中的某个位置。你们谁能告诉我正确的做法是什么?
最佳答案
根据您的 ng-repeat
函数判断,您的作用域包含 revisions
数组,并且 ng-repeat
迭代它们并使用代表修订
中每一项的修订变量。
看起来您的 Controller 位于 ng-repeat
之外,因此它看不到包含各个 revision
实例的范围,但它确实看到了原始 >revisions
数组,因此您应该能够直接拼接
它。
$scope.revisions.splice($index, 1)
关于javascript - 如何在 Angular 中使用 splice 从列表中删除项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19783557/