3

这是我的 plunker - 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="angular.js@1.1.5" data-semver="1.1.5" src="http://code.angularjs.org/1.1.5/angular.min.js"></script>
<script data-require="bootstrap@2.3.2" data-semver="2.3.2" src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
<script data-require="angular-strap@0.6.6" 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]
4

2 回答 2

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>'
    }
});

这也是他们在AngularStrap 网站上配置 Plunker 的方式。

于 2013-05-29T06:22:10.467 回答
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>'
  }
});
于 2013-05-29T06:24:35.777 回答