У меня есть список разделов, отображающих информацию о продуктах. Основная информация одинаков, но определенные поля отображаются или скрыты (через ng-show/ng-hide) для определенного типа продукта. Это прекрасно работает, но мы хотим показать строки в чередующихся стилях (полосы зебры) для удобочитаемости. Как это можно сделать, поскольку, если я скрою одну строку, мы получим две строки с одинаковым стилем? HTML имеет вид:Angularjs показать/скрыть и чередующиеся стили
<div style="alt-1">
<div class="col-md-3 list-item-odd">Location</div>
<div class="col-md-9 list-item-odd" >{{ location }}</div>
</div>
<div ng-show="itemType == 1" style="alt-2">
<div class="col-md-3 list-item-odd">Layout Type</div>
<div class="col-md-9 list-item-odd" >{{ layoutType}}</div>
</div>
<div style="alt-1">
<div class="col-md-3 list-item-odd">Category</div>
<div class="col-md-9 list-item-odd" >{{ category }}</div>
</div>
В этом примере показывают, если ItemType = 1 мы заканчиваем вас с двумя смежными рядами со стилем «альт-1»!.
Одна из моих идей заключалась в том, чтобы написать директиву (альтернативные стили в примере ниже) с более низким приоритетом, чтобы пройти DIV после завершения ng-show (или ng-hide).
<div class="enclosing" alternate-styles>
HTML from above
</div>
Однако, есть две вещи, которые меня беспокоят. Один, это сработает. Я всегда удивляюсь чему-то в Угловом. Во-вторых, у меня есть это подозрительное подозрение, что я даю возможность jQuery ослепить меня до очевидного решения с угловыми углами.
Мнения и/или предложения?
Спасибо,
Jerry
Не могли бы вы использовать ng-repeat и http://docs.angularjs.org/api/ng.directive:ngClassEven? –
Я думал об этом, но тогда мне пришлось бы создавать большой массив полей и подсказок, а затем заполнять каждый раздел формы динамически. Это вариант, но не тот, который я предпочитаю использовать, поскольку он отличается от всех других макетов в приложении. – JerryKur