Нг-переключатель для размещения элементов

Есть ли лучший способ написать это? Я просто не хочу повторять внутреннее содержание списка дважды.

 <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>

Другие вопросы по тегам