我有这个对象数组(左侧),我想用ng-repeat这样(右侧)索引它。
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
] |
] |
它有点在嵌套数组中使用$ parent。$ index + $ index,但是这只适用于第一个嵌套数组,因为下一个将使它们的$ index再次从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”
编辑: 我的数组实际上是购物车的内容。数组中的每个项目都是一个产品,但其中一些项目可以是一个包含更多折扣产品的包。
答案 0 :(得分:1)
在对整个问题进行了一些重新思考之后,我得出的结论是,使用ng-repeats对这个嵌套数组进行索引会使页面过于复杂,并且通过展平数组我会解决比我创建的问题更多的问题。
TL:DR我已经把阵列弄平了,通过这样做我已经简化了更多页面,只需添加一些新功能来处理套餐的折扣。