Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 两个ng重复的唯一id(AngularJS)_Javascript_Angularjs_Arrays_Angularjs Ng Repeat - Fatal编程技术网

Javascript 两个ng重复的唯一id(AngularJS)

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}}"> <

是否可能影响位于两个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}}">
     </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>