使用指令和匿名AngularJS控制器进行缩小

时间:2015-07-24 16:00:33

标签: angularjs angularjs-directive

我在我的应用程序中使用' ng-strict-di '指令来防止失败的缩小。但现在我的指令出错了。

错误:[$ injector:strictdi]函数($ scope,element,attrs)未使用显式注释,无法在严格模式下调用

如何将$ scope显式添加为匿名控制器函数的依赖项?这是我的指示。

var myApp = angular.module("myApp",[]);
myApp.directive('myDirective', function(){
  return{
    restrict: 'A',
    template: '<h4> {{myController.msg}} </h4>',
    controller: function($scope, element, attrs){
      $scope.myController = this;
      this.msg = "Hello world";
    };
});

我试过了:

var myApp = angular.module('myApp ', ['$scope'])

但是我收到了这个错误: 错误:[$ injector:modulerr]无法实例化模块

1 个答案:

答案 0 :(得分:2)

您需要指令控制器的缩小安全语法:

controller: ["$scope", "element", "attrs", function($scope, element, attrs){
  $scope.myController = this;
  this.msg = "Hello world";
}];

基于这些参数,我猜你想要一个link函数(只是一个猜测):

link: function($scope, element, attrs){
  $scope.myController = this;
  this.msg = "Hello world";
};