カスタムディレクティブを使用してヘッダー、メニュー、フッター、および選択したページを構成できる角度フレームワークを開発しています。この要件を満たすには、ある時点で次のことが必要です。私はネット上の例を見てきましたが、実際にそれをうまく説明していません。別のカスタムディレクティブを呼び出す角カスタムディレクティブ
最初のカスタムディレクティブのtemplateUrlを、別のカスタムディレクティブを呼び出すテンプレート属性に置き換える必要があります。
次のコードはtemplateUrlで正常に動作します。
angular.module("app",[]);
angular.module("app").controller("productController", ['$scope', function ($scope) {
}]);
angular.module("app").directive("tmHtml", function() {
return {
transclude: false,
scope: {
},
controller: "productController",
templateUrl: "/templates/HideShow.html"
};
});
しかし、私は上記のコードを次のように変更します。私は自分のカスタムディレクティブtmHtmlが別のカスタムディレクティブを呼び出すように変更しています。それは働いていない
angular.module("app").directive("hideShow", function() {
return {
tempateUrl: "/templates/HideShow.html"
};
});
次のようにhideShowため
angular.module("app").directive("tmHtml", function() {
return {
transclude: false,
scope: {
},
controller: "productController",
template: ``<hideShow></hideShow>``
};
});
新指令が書かれています。私はここで何かを逃していることを理解する。私は見つけることができませんでした。
私はHTMLコードに次の指令を使用しています。これは次にhideShowディレクティブを呼び出します。 –
これはあなたの質問で言ったことです: 'template: ' –
すべてのディレクティブが 'element-directive'です。ドキュメントは '注意:ディレクティブを作成すると、属性と要素にはデフォルトでのみ制限されます。クラス名によってトリガーされるディレクティブを作成するには、restrictオプションを使用する必要があります。 ' –