Нг-переключатель для размещения элементов
Есть ли лучший способ написать это? Я просто не хочу повторять внутреннее содержание списка дважды.
<div ng-switch on="list.type">
<ul ng-switch-when="unorder">
<li ng-repeat="item in items">
{{ item.text }}
</li>
</ul ng-switch-when="unorder">
<ol ng-switch-when="order">
<li ng-repeat="item in items">
{{ item.text }}
</li>
</ol ng-switch-when="order">
</div>
2 ответа
Решение
Я думаю, что это более элегантный способ с помощью CSS вместо использования пользовательских директив для чего-то довольно простого
Html
<ol ng-class="{'no-style' : list.type === 'unorder'}">
<li ng-repeat="item in items">
{{ item.text }}
</li>
</ol>
CSS
ol.no-style {
list-style-type: none;
}
Живой пример вы можете увидеть здесь
<div>
<list content="list.type">
<li ng-repeat="item in items">
{{ item.text }}
</li>
</list>
</div>
С привязкой данных вы можете изменить шаблон директивы списка на <ul ng-transclude>
или же <ol ng-transclude>