我的嵌套ng-repeat循环需要第二个$ index。我该怎么做,在哪里放?
使用ngInit可以为这些属性创建别名。这个 例如,在嵌套ngRepeats时可能很有用。
<div ng-repeat="person in persons track by $index">
<div ng-repeat="something in array track by $index2"> <!-- where to init this and how to manage it?-->
如果我再次使用$ index,它似乎有效,但我不确定这是正确的吗? 我确信有一种简单而正确的方法,我无法找到一个例子。
由于
答案 0 :(得分:122)
$index
将引用最里面的ngRepeat
范围内的索引,因此,如果这是您需要的,则可以使用它。
文档描述的是您需要访问父$index
中的ngRepeat
的情况。您可以通过以下几种方式获取它:一种是使用$parent
,另一种是使用ngInit
,正如Angular文档所建议的那样。这是一个例子......
<li ng-repeat="thing in things" ng-init="parentIndex = $index">
{{ $index }}
<ul>
<li ng-repeat="value in thing.values">
{{ value }}
{{ $index }} <!-- inner $index -->
{{ $parent.$index }} <!-- parent $index -->
{{ parentIndex }} <!-- also parent $index -->
</li>
</ul>
</li>