Angular指令抛出错误:[$ injector:unpr]

时间:2017-03-30 09:44:09

标签: angularjs filter directive

我正在开发一个项目,需要修改一些代码来解决错误 的指令:

(function () {
    'use strict';

    angular.module('myApp').directive("myDirective", function ($filter) {
        return {
            // code
        };
    });
})();

仅在缩小版本时抛出错误。 我使用角1.5.9

我想我需要在某处定义$ filter。

2 个答案:

答案 0 :(得分:2)

我假设你已经在某处定义了应用程序。

您似乎没有注入$ filter,请尝试这样做:

(function () {
  'use strict';

  angular.module('myApp').directive("myDirective", ["$filter", function ($filter) {
    return {
      // code
    };
  }]);
})();

答案 1 :(得分:1)

当您使用minified的angular版本时,您需要将依赖项作为单独的字符串数组注入。否则,依赖注入器无法识别哪个是哪个

(function () {
    'use strict';

    angular.module('myApp')
      .directive("myDirective",myDirective);

    myDirective.$inject = ['$filter'];

    function myDirective($filter) {
        return {
            // code
        };
    }

})();