2013-05-29 4 views
1

Вот мой plunker - http://plnkr.co/edit/uqSB1gIz6XEmJfC8zHNb?p=previewAngularJS: Директива не может найти зависимость впрыскивается

Я пытаюсь внедрить Angular Strap

index.html в том числе правильных зависимостей и в правильном порядке

By Console говорит

Error: Unknown provider: $strap.directivesProvider <- $strap.directives <- notificationDirective 
@http://code.angularjs.org/1.1.5/angular.min.js:29 
[email protected]://code.angularjs.org/1.1.5/angular.min.js:27 
@http://code.angularjs.org/1.1.5/angular.min.js:30 
[email protected]://code.angularjs.org/1.1.5/angular.min.js:27 
[email protected]://code.angularjs.org/1.1.5/angular.min.js:27 
@http://code.angularjs.org/1.1.5/angular.min.js:37 
[email protected][native code] 

ответ

3

Зависимость модуля от AngularStrap приведена не в том месте. '$strap-directives' представляет собой модуль зависимость, а не зависимость службы, поэтому он должен быть указан во время приложения начальной загрузки, как:

var app = angular.module('myApp', ['$strap.directives']); 

Он также должен быть удален в качестве службы DI в вашей директиве:

app.directive('notification', function(){ 
    return { 
     restrict: 'E', 
     replace: true, 
     scope: { 
      ngModel: '=' 
     }, 
     template: '<div>Test</div>' 
    } 
}); 

Так они настраивают Plunkers на AngularStrap site.

1

$strap.directives - это модуль. Вам необходимо определить его как зависимость для вашего собственного модуля:

var app = angular.module('myApp', ['$strap.directives']); 

Вам не нужно вводить это в директиву. Таким образом, ваша директива будет только выглядеть следующим образом:

app.directive('notification', function(){ 
    return { 
    restrict: 'E', 
    replace: true, 
    scope: { 
     ngModel: '=' 
    }, 
    template: '<div>Test</div>' 
    } 
}); 
+1

Это выдаст ошибку, так как директива пытается внедрить 'strap' неудачно – sh0ber

+0

Ах да! Отредактировал мой пост. Большое спасибо! – callmekatootie

Смежные вопросы