2013-11-23 8 views
23

Die folgende Tabellenzeile ist typisch.So wiederholen Sie zwei weitere Zeilen in AngularJS

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

aber, wie zwei Reihen zu jedem wiederholen?

<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

möglich duplicate von [Angular.js ng-repeat über mehrere trs] (http://stackoverflow.com/questions/12979205/angular-js-ng-repeat-across-multiple-trs) – Amicable

Antwort

44

Wenn Sie mit AngularJS 1.2+, können Sie ng-repeat-start und ng-repeat-end verwenden:

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

Siehe "Sonderwiederholungs Start- und Endpunkte" in der ngRepeat docs.

Andernfalls müssen Sie auf einige fiese Tricks zurückgreifen, wie das tr s in ein tbody Element einwickeln und das wiederholen.

+1

Danke! Es klappt! – cybaek