AngularJS:ng在嵌套循环中按$index重复跟踪

AngularJS:ng在嵌套循环中按$index重复跟踪,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,我需要为嵌套的ng repeat循环创建第二个$index。我应该怎么放,放在哪里 说 使用ngInit可以为这些属性创建别名。这 例如,嵌套重复时可能有用 如果我再次使用$index,它似乎可以工作,但我不确定这是否正确? 我确信有一种简单而正确的方法,我就是找不到一个例子 谢谢$index将引用最里面的ngRepeat范围中的索引,因此如果您需要它,您可以直接使用它 文档描述的是一个场景,您需要访问父级ngRepeat中的$index。您可以通过两种方式获得它:一种是使用$parent,

我需要为嵌套的ng repeat循环创建第二个$index。我应该怎么放,放在哪里

使用ngInit可以为这些属性创建别名。这 例如,嵌套重复时可能有用


如果我再次使用$index,它似乎可以工作,但我不确定这是否正确? 我确信有一种简单而正确的方法,我就是找不到一个例子


谢谢

$index
将引用最里面的
ngRepeat
范围中的索引,因此如果您需要它,您可以直接使用它

文档描述的是一个场景,您需要访问父级
ngRepeat
中的
$index
。您可以通过两种方式获得它:一种是使用
$parent
,另一种是使用
ngInit
,正如本文所建议的那样。这里有一个例子

<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>
  • {{$index}}
    • {{value}} {{$index}} {{$parent.$index}} {{parentIndex}}

  • 这正是我想知道的。我对文件有点困惑。值得注意的是,它适用于任何可用的javascript对象。我使用它为外部循环$last boolean创建了一个别名,以使其在内部循环中可用。如果以后要从数组中删除任何列表项,请非常小心地使用这种方法。例如,如果从数组
    things
    中删除任何数组项,则$index将更新自身以反映数组的新状态,但
    parentIndex
    仍将指向已删除项的索引。当涉及到删除时,这将是一个巨大的问题。保存状态并刷新页面后,
    parentIndex
    将正确反映,即必须重新呈现数组列表才能显示更新的索引。经过3天的努力,我发现了这个问题。我有一个复杂的结构,在这个结构中,我使用嵌套for循环创建表单。对我来说,‘ng init’解决了这个问题。非常感谢。
    <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>