如何正确使用karma-ng-html2js-preprocessor



我有指令:

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。模板:表示静态字符串作为模板

最新更新