これは私の最初の質問です。状況を説明できることを願っています。012JAJangularJsのドキュメントhereは動的に返される関数としてdirective templateUrlを持っています。 Plunklerライブデモhereもあります。anglejsカスタムディレクティブのtemplateUrlを動的に変更する方法
.directive('....', function() {
return {
templateUrl: function(elem, attr){
return **.... scope.Somthing ...**;
}
};
});
これまでに私が見つけた唯一の方法は、ディレクティブのスコープとの関連性を動的にTemplateUrlを設定することで機能がスコープパラメータを取らないと、これは主な問題
でこのよう
です.directive('....', function() {
return {
link: function (scope, element, attrs) {
scope.getTemplateUrl = function() {
return **.... scope.Somthing ...**;
};
},
template: '<ng-include src="getTemplateUrl()"/>'
};
});
別の解決策は、私の最初の問題は、このことです
.directive('....', function() {
return {
controller: function ($scope) {
$scope.getTemplateUrl = function() {
return **.... scope.Somthing ...**;
};
},
template: '<ng-include src="getTemplateUrl()"/>'
};
});
です問題へのパッチのように見える
私の2番目の問題は、指示文でhtml文字列を構築する必要があります。
他の方法はありますか?
私は 'ng-include'で関数呼び出しの代わりに変数を使用したいと思いますが、あなたがしていることはまったく問題ないと思います。ディレクティブにHTMLがあるのが不快な場合は、代わりにそのスニペットをファイルに保存することができます。これは '$ compile'を注入してテンプレートを動的にコンパイルするより簡単です。 – adam0101