2013-07-18 3 views
19

Sto avendo un problema ho bisogno di ripetere il seguente .. come gruppoAngularJS: NG-repeat per 2 x <tr> - non può utilizzare un DIV

<tr></tr> 
<tr></tr> 

io non li può circondare con un DIV mettere il ng-repeat lì come valido per TR cioè

<div ng-repeat="item in items"> 
    <tr></tr> 
    <tr></tr> 
</div> 

così ho attualmente hanno i seguenti implementato

<tr ng-repeat.....></tr> 
    <tr ng-repeat.....></tr> 

ma il problema è con questo c'è una collezione di 6 elementi quindi il primo TR rende 6 volte e poi 6 volte per il prossimo ...

Mi sto grattando la testa cercando di aggirare questo ma non posso proprio capirlo.

Sarebbe bello se ci fosse una sorta di tag Div che è stato usato per ng-repeat ma non ha reso un elemento al DOM ??

risposta

21

È possibile inserire il ng ripetizione su un elemento tbody:

<tbody ng-repeat="item in items"> 
    <tr> 
     <td>{{item.row_one_stuff}}</td> 
     <td>{{item.more_row_one_stuff}}</td> 
    </tr> 
    <tr> 
     <td>{{item.row_two_stuff}}</td> 
     <td>{{item.more_row_two_stuff}}</td> 
    </tr> 
</tbody> 
+0

Nice - Ho dimenticato che puoi avere più elementi tbody. –

+0

Grazie! lo hai fatto per me ... grazie mille. – Martin

+0

che funziona, ma non è così bello se il tuo e hanno regole CSS diverse (come nel bootstrap). – svarog

28

Sembra che i ragazzi di angularjs abbiano implementato qualcosa in questo senso. https://github.com/angular/angular.js/commit/e46100f7097d9a8f174bdb9e15d4c6098395c3f2

Così la sintassi sarebbe

<tr ng-repeat-start="item in items"></tr> 
<tr ng-repeat-end></tr> 
+0

No Purtroppo questo non sembra funzionare – Martin

+0

C'è una discussione sulla versione di angularjs di cui hai bisogno qui. http://stackoverflow.com/questions/16900050/angular-js-ng-repeat-across-multiple-elements. Ci scusiamo se si finisce per dover fare clic su alcuni link, ma questo sarà sicuramente implementato in una versione futura. –

+0

Grazie Rob, terrò gli occhi aperti per quello. – Martin

3
<tr ng-repeat-start="item in items"> 
    <td>{{item.data1}}</td> 
</tr> 
<tr ng-repeat-end> 
    <td>{{item.data2}}</td> 
</tr>