ロードするディレクティブ (またはコントローラー) の名前としてスコープの変数値を使用する必要があるテンプレートのディレクティブを作成しています。
次のような widget.html というテンプレートを持つディレクティブ ウィジェットがあるとします。
<div class="widget widget.type" {{widget.type}} ng-controller="widget.type">
<div class="navBar">
<div ng-include="widget.type + '-t.html'"></div>
<i class="fa fa-close"></i>
<hr>
</div>
<div ng-include="widget.type + '-f.html'"></div>
</div>
今widget.type
は最初の行で評価されていません。ng-include で問題なく動作します。Saywidget.type
の値はweather
です。次に、最初の行を最初に補間して次のようにする必要があります (class 属性、widget.type-attr、または ng-controller が補間されているかどうかは関係ありません)。
<div class="widget" weather>
次に、気象指令を含めるようにコンパイルします。
テンプレートで補間するにはどうすればよいですか?widget.type
ng-include を使用してディレクティブをロードするオプションはありません。ウィジェットに 1 つの共通テンプレートを使用する必要があり、基本ディレクティブを追加の機能/変数で追加/オーバーライド/拡張したいと考えています。
これがそれを達成する方法でない場合、ディレクティブを OOP 方式で拡張する方法はありますか?