如何在嵌套的ng-repeats中获取索引

时间:2014-03-25 17:02:15

标签: angularjs

我在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”的值永远不会被填充。它不捕获索引。 任何人都可以协助

1 个答案:

答案 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