我在ng-repeat中有一个ng-repeat。我想要获得两个级别的指数,但我无法:
<tbody>
<tr ng-repeat="element in body">
<td ng-repeat="h in header" style="width:{{h.width}}px">
<div col="{{$parent.$parent.$index}}" row="{{$parent.$index}}">{{element[h.column]}}</div>
<td>
</tr>
</tbody>
这里也是一个plnkr。 http://plnkr.co/edit/dGoN43HzQefVpCsp2R3j
问题是“col”的值永远不会被填充。它不捕获索引。 任何人都可以协助
答案 0 :(得分:12)
您不必使用$parent
,只需使用$index
获取内循环索引并使用indexOf()数组函数获取外环索引 ...
<强> HTML 强>
<tr ng-repeat="element in body">
<td ng-repeat="h in header" style="width:{{h.width}}px">
<div col="{{body.indexOf(element)}}" row="{{$index}}">{{element[h.column]}}</div>
<td>
</tr>
<强>更新强>
实际上使用ng-init会更好地获得外部循环索引 ...在这里,您可以轻松地将rowIndex
设置为当前索引转弯并在内循环中使用它......
<tbody>
<tr ng-repeat="element in body" ng-init="rowIndex = $index">
<td ng-repeat="h in header" style="width:{{h.width}}px">
<div col="{{$index}}" row="{{rowIndex}}">{{element[h.column]}}</div>
<td>
</tr>
</tbody>
此处已更新PLUNKER