AngularJS 嵌套的 ng-repeat 索引

AngularJS nested ng-repeat indexing

我有这个对象数组(左侧),我想使用 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".

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

在重新思考整个问题后,我得出结论,使用 ng-repeats 索引这个嵌套数组会使页面过于复杂,通过展平数组,我解决的问题比我创造的要多。

TL:DR 我已经展平了数组,通过这样做我简化了更多的页面,只需要添加一些新函数来处理包裹的折扣。