変数に基づいて使用するディレクティブを選択したい。具体的には、リストにいくつかの異なるタイプのアイテムがあるので、アイテム タイプを使用して、それを表示できるディレクティブを選択したいと考えています。
ng-switch は、この目的を意図しているようです。ただし、すべてのスイッチの選択肢を DOM に追加してから、1 つを除いてすべて非表示にします。多くの項目タイプまたは表示する長いリストがある場合、このアプローチは非効率的と思われます。また、スイッチを使用すると、ロジックが HTML に配置されます。おそらく次のような、正しいディレクティブを選択する「戦略パターン」が望ましいでしょう。
<display-{{item.type}} data="item.data" />
ここで、ディレクティブは「displayType1」、「displayType2」などです。ただし、おそらくコンパイル フェーズとリンク フェーズの違いが原因で、この構文は機能しないようです。ディレクティブ内で html テンプレートを切り替える例を次に示します。しかし、モジュール性を維持しながらディレクティブを切り替える方法はありますか?