我有两个嵌套的ng-repeat,并希望同时访问外部索引和内部索引。
<div ng-repeat="column in columns" ng-init="columnIndex = $index">
<div ng-repeat="row in column" ng-init="rowIndex = $index">
<p ng-click="delete(column, row)">
Delete
</p>
</div>
</div>
现在,只要 outers 模型未更新,这样就可以正常工作。 显然,ng-init仅初始化值一次,因此如果删除页面上的一个元素,则columnIndex和rowIndex将不会相应地更新。
是否有其他方法可以跟踪外部和内部索引,以便将正确的值传递给删除函数?
答案 0 :(得分:3)
您可以为每个ng-repeat索引设置一个名称:
<div ng-repeat="(columnIndex, column) in columns">
<div ng-repeat="(rowIndex, row) in column">
<p ng-click="delete(column, row)">
Delete
</p>
</div>
</div>
或者,您可以将$index
用于内部索引,将$parent.$index
用于外部索引。