#angularjs #semantic-ui
#angularjs #semantic-ui
Вопрос:
Я хочу показать разделенный список с использованием semantic-ui и angularjs с помощью ng-repeat, но я не могу отобразить разделительную линию.
<div class="ui divided list" ng-repeat="dataset in datasets.results">
<div class="item">
<i class="map marker icon"></i>
<div class="content">
<a class="header">{{dataset.name}}</a>
<div class="description">{{dataset.description}}</div>
</div>
</div>
</div>
Если я сделаю что-то подобное без angularjs, строка отобразится.
Я предполагаю, что это следующее правило в semantic.css, которое скрывает строку
.ui.divided.list .item:first-child {
border-top-width: 0;
}
Означает ли способ работы angularjs, что каждый элемент в списке является «первым», и есть ли способ обойти это?
Вот jsfiddle с примером
Ответ №1:
Было бы лучше, если бы вы создали скрипку.
Существует много способов создания разделителей, например:
<div class="ui divided list" ng-repeat-start="dataset in datasets.results">
<div class="item">
<i class="map marker icon"></i>
<div class="content">
<a class="header">{{dataset.name}}</a>
<div class="description">{{dataset.description}}</div>
</div>
</div>
</div>
<hr ng-if="!$last" ng-repeat-end />
Комментарии:
1. Ну, вы повторяете то
ul
, а неdiv.item
это. В результате у вас есть многоul
«s» с однимdiv.item
в каждом — конечно, каждый.item
есть:first-child
, потому что это единственный элементul
. Попробуйте переместить ng-повтор вниз доdiv.item
. Обновленная скрипка2. Спасибо — я запутался в том, что повторялось. Я думал, что это содержимое div (не включая фактический div, содержащий повтор)