У меня есть коллекция элементов разных типов. Я хочу повторить их с помощью ng-repeat и условно нарисовать правый tr для каждого типа.ng-repeat в таблице и условный tr
Я не могу использовать ng-repeat-start, так как я хочу использовать виртуальную прокрутку, и ни одна из найденных библиотек не поддерживает концепцию начала и конца.
Это jsfiddle: http://jsfiddle.net/mx6v8j98/1/, который не работает. вот HTML часть:
<div ng-app ng-controller="MyCtrl">
<table>
<tbody>
<tr ng-repeat="item in itemsList" ng-switch="$even" ng-class-even="'even'" ng-class-odd="'odd'">
<div ng-switch-when="true">
<td>{{item}} is even</td>
<td>even content</td>
</div>
<div ng-switch-default>
<td>{{item}} is odd</td>
<td>odd content</td>
</div>
</tr>
</tbody>
</table>
</div>
В моем реальном мире случае, у меня есть много тдов со сложным содержанием, так что я не хочу использовать нг-если/нг-переключатель, когда на каждый
Обновление: я могу поместить ng-repeat на тег <tbody>
, но это выглядит уродливым, и я не уверен, какие последствия относятся к стилю.
Обновление II: В моем случае сам тег tr отображается по-разному в соответствии с условием
Это из-дивы внутри таблицы , plunkr жалуется в редакторе о режиме vodoo. он работает без них, если вы используете ng-ifs для каждого td (не очень приятно), http://plnkr.co/edit/2rMSCcIZJwYWD4CoUk25?p=preview – toskv
я бы изменил структуру данных вместо –
@toskv: «У меня много td со сложным контентом, поэтому я не хочу использовать ng-if/ng-switch-when на каждом « – IttayD