2013-11-23 6 views
23

Poniższy wiersz tabeli jest typowy.Sposób powtarzania kolejnych dwóch wierszy w AngularJS

<tr ng-repeat="item in items"> 
    <td>{{item.id}}</td> 
    <td>{{item.subject}}</td> 
    <td>{{item.author}}</td> 
    <td>{{item.date}}</td> 
</tr> 

ale, jak powtórzyć dwa wiersze do każdego?

<tr ??> 
    <td rowspan=2>{{item.id}}</td> 
    <td colspan=2>{{item.subject}}</td> 
</tr> 
<tr ??> 
    <td>{{item.author}}</td> 
    <td>{{item.date}}</td> 
</tr> 
+2

możliwy duplikat [Angular.js ng-repeat w wielu trs] (http://stackoverflow.com/questions/12979205/angular-js-ng-repeat-across-multiple-trs) – Amicable

Odpowiedz

44

Jeśli używasz angularjs 1.2+, można użyć ng-repeat-start i ng-repeat-end:

<tr ng-repeat-start="item in items"> 
    <td rowspan=2>{{item.id}}</td> 
    <td colspan=2>{{item.subject}}</td> 
</tr> 
<tr ng-repeat-end> 
    <td>{{item.author}}</td> 
    <td>{{item.date}}</td> 
</tr> 

Patrz "Specjalne powtórz punkty początkowe i końcowe" w ngRepeat docs.

W przeciwnym razie musisz uciec się do kilku nieprzyjemnych sztuczek, takich jak zawijanie tr s w elemencie tbody i powtórzenie tego.

+1

Dzięki! To działa! – cybaek