【问题标题】:Angular directive throws Error: [$injector:unpr]Angular 指令抛出错误:[$injector:unpr]
【发布时间】:2017-08-24 03:45:59
【问题描述】:

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

(function () {
    'use strict';

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

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

我想我需要在某个地方定义 $filter。

【问题讨论】:

标签: angularjs filter directive


【解决方案1】:

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

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

(function () {
  'use strict';

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

【讨论】:

  • 他确实注入了 $filter,但他并没有以一种缩小安全的方式进行。
  • 你成就了我的一天。
【解决方案2】:

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

(function () {
    'use strict';

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

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

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

})();

【讨论】:

  • 感谢您的解释。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-21
  • 2017-08-21
  • 1970-01-01
  • 1970-01-01
  • 2015-04-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多