AngularJS嵌套ng重复索引

问题描述:

我有这个对象数组(左侧),我想用这个(右侧)使用ng-repeat索引它。AngularJS嵌套ng重复索引

i j  | x 
[    |  
0   | 0 x = i 
1   | 1 
2   | 2 
3 [   | 
    0  | 3 x = i + j 
    1  | 4 
    2  | 5 
    ]   | 
4   | 6 x = ? 
5 [   | 
    0  | 7 x = ? 
    1  | 8 
    2  | 9 
    ]   | 
]    | 

它还挺使用$父的作品。$指数+ $指数嵌套数组中,但是这只能在第一个嵌套数组作为未来的人都会有自己的$指数从0开始再次所以5 + 0 = 5,而不是7.此外,主数组的索引将不计入后面的嵌套数组元素。

我真正需要的是一个计数器,我可以在{{}}块中显示。

<div ng-repeat-start="item in array track by $index"> 
    {{$index}} 
</div> 
<div ng-if="isArray(item)" ng-repeat="subItem in item track by $index"> 
    {{$parent.$index+$index}} 
</div> 
<hr ng-repeat-stop> 

我在想,也许存储的“x”为从阵列中的每个项目成员可以工作,但后来每次我都会从数组中删除一个项目,我将不得不再次处理阵列修复“x”。

编辑: 我的数组实际上是购物车的内容。数组中的每个项目都是一个Product,但其中一些项目可以是一个包含折扣更多产品的Package。

+1

你想扁平你阵列吗? – Danscho

+0

我不能展平数组,因为它包含具有许多成员的对象,并且这些对象的某些成员是对象数组。 –

+1

@ Adi.S实际上你错了:“但是每次我从数组中删除一个项目时,我将不得不再次处理数组以修复”x“”。看看这个简短的例子:http://plnkr.co/edit/87T7jQAMHJq1OE33ZFYx?p=preview –

经过一些反思整个问题之后,我得出结论,使用ng-repeats索引这个嵌套数组会使页面变得过于复杂,并且通过展平数组,我会解决比我创建的更多问题。

TL:DR我已经放平了阵列,通过这样做,我简化了更多的页面,只需添加一些新功能来处理包裹的折扣。