0

これを書く良い方法はありますか?リストの内部コンテンツを 2 回繰り返したくないだけです。

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

2 に答える 2

1

非常に単純なことに custom-directive を使用する代わりに 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;
}

ここで見ることができるライブの例

于 2015-11-11T18:36:13.013 に答える
0
<div>
  <list content="list.type">
    <li ng-repeat="item in items">
      {{ item.text }}
    </li>
  </list>
</div>

データバインディングを使用すると、リストディレクティブテンプレートを <ul ng-transclude>またはに変更できます<ol ng-transclude>

于 2015-11-11T18:35:58.763 に答える