Использование semantic-ui и angularjs для отображения списка элементов с разделителем

#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 с примером

http://jsfiddle.net/uUjTZ/2/

Ответ №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, содержащий повтор)