Angular directive throws Error: [$injector:unpr]

Angular directive throws Error: [$injector:unpr]

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

(function () {
    'use strict';

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

这只会在缩小版本中引发错误。 我正在使用 angular 1.5.9

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

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

您似乎没有注入 $filter,试试这个:

(function () {
  'use strict';

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

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

(function () {
    'use strict';

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

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

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

})();