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