4

ng-repeatテーブル/リストビューからその要素のみを表示する代替ビューへの要素スイッチの選択のように、各要素を動的にレンダリングするために使用するテンプレートを変更することは可能ですか?

私が欲しいのは、ng-repeatテーブル/リスト内の要素を選択すると、選択した要素のみの表示に切り替わることです。しかし、ng-repeat各要素を一度に 1 つずつナビゲートし (左と右など)、いつでもその構造を持つテーブル/リストに戻ることができるように、構造 (フィルター、ページネーション) を所定の位置に保持したいと考えています。場所。

要素が選択されたら、新しいテンプレートを使用して新しいルートに切り替える方が簡単かもしれませんが、フィルタリングされたアイテムのみを介してナビゲーションを維持し、ng-repeatそのルートに戻るときに保存された状態に戻すにはどうすればよいですか?

それを十分に説明できれば幸いです。事前に感謝します。

4

1 に答える 1

10

ng-switchディレクティブ内でディレクティブを使用できますng-repeat。基本的な例を次に示します。

<ul>
  <li ng-repeat="color in colors" ng-switch on="color.value" >
    <span ng-switch-when="orange" style="background-color:{{color.value}};">{{color.name}}</span>
    <span ng-switch-default>{{color.name}}</span>
  </li>
</ul>

完全なjsFiddle

アップデート

コメントの中で Ninja Pants は、最終的な目標はng-includeテンプレートを含めることであると明確にしました。その方法を示す更新されたスニペットを次に示します。

<ul>
  <li ng-repeat="color in colors" ng-switch on="color.value" >
    <span ng-switch-when="orange" ng-include src="'template.html'"></span>
    <span ng-switch-when="indigo" ng-include src="'template2.html'"></span>
    <span ng-switch-default>{{color.name}}</span>
  </li>
</ul>

そして完全な Plunker デモ.

于 2013-07-29T22:18:07.450 に答える