自定义指令获取错误

时间:2014-08-14 18:48:56

标签: angularjs angularjs-directive

app.js

angular.module('symphony', ['symphony.directives'])

directives.js

angular.module('symphony.directives')

.directive('breadCrums', ['', function(){
    return {
         restrict: 'E', // E = Element, A = Attribute, C = Class, M = Comment
         templateUrl: '/angular/includes/breadcrums.html',
         replace: true,

    };
}]);

它说:Error: [$injector:unpr] Unknown provider: Provider <- <- breadCrumsDirective

为什么会出现此错误?我的其他控制器工作正常。

2 个答案:

答案 0 :(得分:1)

您的指令定义存在问题。你要求angular注入一个名为空字符串的服务。 Angular的注入器报告该服务不存在,因为它找不到它的提供者。

您的代码应该可以使用这个简单的修复:

.directive('breadCrums', function(){
    return {
         restrict: 'E', // E = Element, A = Attribute, C = Class, M = Comment
         templateUrl: '/angular/includes/breadcrums.html',
         replace: true,

    };
});

答案 1 :(得分:1)

加载'symphony.directives'模块时遇到问题。

  • 错过空括号作为第二个模块参数
  • 删除注射器(如果您不使用它)

将其更改为:

angular.module('symphony.directives', []).
directive('breadCrums', function(){
return {
     restrict: 'E',
     templateUrl: '/angular/includes/breadcrums.html',
     replace: true
   };
});

修正了模板 Fiddle