我有指令:
angular
.module('app')
.directive('stat24hour', stat24hour);
function stat24hour(req) {
var directive = {
link: link,
template: 'scripts/widgets/templates/stat24Hour.html'
};
return directive;
function link(scope) {
req.option('stats').then(function(data){
scope.stats = data;
});
}
}
和我配置karma使我的模板*.html像模块
(function(module) {
try {
module = angular.module('template');
} catch (e) {
module = angular.module('template', []);
}
module.run(function($templateCache) {
$templateCache.put('scripts/widgets/templates/stat24Hour.html','Here HTML');
});
})();
但是当我尝试使用
angular.module('template');
inject(function($compile, $rootScope){
compile = $compile;
scope = $rootScope.$new();
var element = angular.element('div stat24hour');
var compiledElement = compile(element)(scope);
console.log(compiledElement);
});
编译返回没有模板的html从指令。需要解决什么问题才能使其发挥作用?
你有模板:'..在你的指令中,当加载外部资源时,你应该使用templateUrl。模板:表示静态字符串作为模板