AngularJS: ng-repeat для 2 x <tr> - не может использовать DIV
У меня возникла проблема, я должен повторить следующее.. как группу
<tr></tr>
<tr></tr>
Я не могу окружить их DIV, чтобы поставить ng-repeat там как недействительный для TR i.e.
<div ng-repeat="item in items">
<tr></tr>
<tr></tr>
</div>
поэтому в настоящее время я выполняю следующие
<tr ng-repeat.....></tr>
<tr ng-repeat.....></tr>
но проблема заключается в том, что существует коллекция из 6 элементов, поэтому первый TR отображает 6 раз, а затем 6 раз для следующего...
Я почесываю голову, пытаясь обойти это, но я просто не могу понять.
Было бы неплохо, если бы был какой-то тег Div, который использовался для ng-repeat, но не отображал элемент DOM??
Ответы
Ответ 1
Вы можете поместить ng-repeat на элемент 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>
Ответ 2
Похоже, что ребята angularjs внедрили что-то в этом направлении. https://github.com/angular/angular.js/commit/e46100f7097d9a8f174bdb9e15d4c6098395c3f2
Таким образом, синтаксис будет
<tr ng-repeat-start="item in items"></tr>
<tr ng-repeat-end></tr>
Ответ 3
<tr ng-repeat-start="item in items">
<td>{{item.data1}}</td>
</tr>
<tr ng-repeat-end>
<td>{{item.data2}}</td>
</tr>