Javascript 两个ng重复的唯一id(AngularJS)
是否可能影响位于两个ng repeat指令内的div的唯一Id?参见下面的示例:Javascript 两个ng重复的唯一id(AngularJS),javascript,angularjs,arrays,angularjs-ng-repeat,Javascript,Angularjs,Arrays,Angularjs Ng Repeat,是否可能影响位于两个ng repeat指令内的div的唯一Id?参见下面的示例: <!--data: [[{id: 'A'},{id: 'B'},{id: 'C'}], [{id: 'X'},{id: 'Y'}]]--> <div ng-repeat = "item in data"> <div ng-repeat = "sub-item in item"> <div id = "{{$index}}"> <
<!--data: [[{id: 'A'},{id: 'B'},{id: 'C'}], [{id: 'X'},{id: 'Y'}]]-->
<div ng-repeat = "item in data">
<div ng-repeat = "sub-item in item">
<div id = "{{$index}}">
</div>
</div>
预期产出:
<!--first ng-repeat-->
<div id = "1">
<div id = "2">
<div id = "3">
<div id = "4"> <!--start second array-->
<div id = "5">
不是:
更新:我不认为track by或$parent.$index适用于这个用例,显然我们必须计算每个子数组的长度,以便得到精确的递增计数器。我目前正在尝试两个ng init的组合。一旦我的帖子开始运行,我会更新它。我终于让它运行起来了,以下是我的尝试:
<div ng-repeat = "item in data" ng-init = "count = 0">
<div ng-repeat = "sub-item in item" ng-init="count = count + data[$parent.$index -1].length">
<div id = "{{count+$index+1}}">
</div>
如果您有更合适的解决方案,请随意编辑您可以尝试使用track by:这非常简单。你累了什么?@1252748我尝试了$parent的组合。$index和ng init在两个ng中重复,这样我可以得到准确的计数器,但没有运气,请检查POST为什么这些元素需要唯一的ID?它实际上是用于三星tv tizen sdk的d-pad遥控系统,每个分区都必须由唯一的ID标识(这是一款离子应用程序)
<div ng-repeat = "item in data" ng-init = "count = 0">
<div ng-repeat = "sub-item in item" ng-init="count = count + data[$parent.$index -1].length">
<div id = "{{count+$index+1}}">
</div>