AngularJS:嵌套循环中的$ index by ng-repeat轨道

时间:2014-11-04 18:28:06

标签: angularjs angularjs-ng-repeat

我的嵌套ng-repeat循环需要第二个$ index。我该怎么做,在哪里放?

AngularJS site

  

使用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,它似乎有效,但我不确定这是正确的吗? 我确信有一种简单而正确的方法,我无法找到一个例子。

由于

1 个答案:

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

Fiddle