一尘不染

AngularJS:嵌套循环中$ index的ng-repeat跟踪

angularjs

我需要第二个$ index用于嵌套的ng-repeat循环。我应该在哪里放?

AngularJS网站

可以使用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,它似乎可以工作,但是我不确定这是否正确?我敢肯定有一种简单而正确的方法,我只是找不到一个例子。

谢谢


阅读 257

收藏
2020-07-04

共1个答案

一尘不染

$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>

小提琴

2020-07-04