Aşağıdaki şekilde, modülün çalışma bloğundaki bir şablonu $templateCache
içine yüklemeye çalışıyorum.Angular js, şablon url'yi kullanarak templateCache içine şablon yükleme
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);
)};
}
Bu, şablonu templateCache'ye yükler. Ancak, onu bir direktifte kullanmaya çalıştığımda. Yönerge, $http
sözünün yanıtlanmasından önce yüklendiği için yüklenmiyor. İşte
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)
}
}
bunu yapmak için daha iyi bir yolu/yer var mı yönergesi kodudur?
Neyi başarmaya çalışıyorsunuz? Şablon şablonunu neden templateUrl'ye yerleştirmediğinizden emin değilim? –
@dvidsilva koyarak templateUrl, yönergeyi test ederken sorun yaratıyor çünkü karma kullanmıyorum. Ayrıca, şablon yüklü önbellekteki şablonlara sahip olmak, performans için daha iyidir. –
Test için neler kullanıyorsunuz? Ayrıca, dinamik yapamazsınız, bu yüzden tarayıcınızdaki testlerinizde farklı çalışır? –