モジュールの実行ブロックの$templateCache
にテンプレートをロードしようとしています。テンプレートのURLを使用してテンプレートにJSPをロードする
angular.module('myapp').run(function($http, $templateCache, $timeout) {
var templateLocation = 'location/to/template.html';
$http.get(templateLocation).them(function(response) {
$templateCache.put(templateLocation, response.data);
)};
}
これはテンプレートをtemplateCacheに読み込みます。しかし、私が指示にそれを使用しようとすると。 $http
プロミスが解決される前にディレクティブが読み込まれるため、ロードされません。ここで
ディレクティブ
angular.module('myApp').directive('myDirective, directiveFn);
directiveFn.$inject = ["$templateCache"]
function directiveFn($templateCache) {
var templateLocation = 'location/to/template.html';
return {
restrict: 'EA'
scope: {
thing1: "="
}
template: $templateCache.get(templateLocation)
}
}
のコードはこれを行うには良い方法/場所はありますか?
達成しようとしていることは何ですか?どうしてテンプレートの場所をtemplateUrlに入れないのか分かりません。 –
@dvidsilvaは、私がカルマを使用していないので、ディレクティブをテストしているときにtemplateUrlを置くと問題を引き起こします。また、テンプレートをロードしたキャッシュにテンプレートを置くと、パフォーマンスが向上します。 –
テストには何を使用していますか?また、それをダイナミックにすることができないので、テストとブラウザの動作が異なりますか? –