这是我的朋克-http://plnkr.co/edit/uqSB1gIz6XEmJfC8zHNb?p=preview
我正在尝试注入Angular Strap
index.html
包括正确的依存关系,并且顺序正确
<script data-require="jquery@*" data-semver="2.0.1" src="http://code.jquery.com/jquery-2.0.1.min.js"></script>
<script data-require="[email protected]" data-semver="1.1.5" src="http://code.angularjs.org/1.1.5/angular.min.js"></script>
<script data-require="[email protected]" data-semver="2.3.2" src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
<script data-require="[email protected]" data-semver="0.6.6" src="//cdnjs.cloudflare.com/ajax/libs/angular-strap/0.6.6/angular-strap.min.js"></script>
我的控制台说
Error: Unknown provider: $strap.directivesProvider <- $strap.directives <- notificationDirective
@http://code.angularjs.org/1.1.5/angular.min.js:29
c@http://code.angularjs.org/1.1.5/angular.min.js:27
@http://code.angularjs.org/1.1.5/angular.min.js:30
c@http://code.angularjs.org/1.1.5/angular.min.js:27
d@http://code.angularjs.org/1.1.5/angular.min.js:27
@http://code.angularjs.org/1.1.5/angular.min.js:37
forEach@[native code]
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>'
}
});
这也是他们在AngularStrap site上配置柱塞的方式。
$strap.directives
是一个模块。您需要将其定义为您自己的模块的依赖项:
var app = angular.module('myApp', ['$strap.directives']);
您无需将其注入指令中。因此,您的指令将仅如下所示:
app.directive('notification', function(){
return {
restrict: 'E',
replace: true,
scope: {
ngModel: '='
},
template: '<div>Test</div>'
}
});