2014-03-25 49 views
7

我在ng重複中有ng重複。我在這兩個級別獲得索引,但我不能:如何獲得嵌套ng重複中的索引

<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

你想設置外部循環索引到col和內部循環索引到行嗎? –

回答

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> 

UPDATE

實際使用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

+0

如果我從getBodyElements()中的 – SoftEngi

+0

@SoftEngi它應該是相同的。爲什麼你認爲這應該是不同的,或者你的問題到底是什麼? –