调用$ provide outside config。角

时间:2015-09-02 20:37:45

标签: javascript angularjs angularjs-injector

我知道在配置块之外调用$ provide是不可能的。是否有任何技巧可以将$ offer注入$ offer.decorator中调用它的服务?



angular.module('app', [])
  .config(function($provide){
    $provide.decorator('myService', function($delegate){
      //inject the $provide into myService through $delegate
      return $delegate;
    }
  })




1 个答案:

答案 0 :(得分:1)

$provide是特殊的,因为它是由Angular在内部定义的,它可以通过注入器among service providers找到(因此它可以在config中找到),但不能在service instances中找到。

这可以通过

轻松修复
angular.module('app', []).config(function ($provide) {
  $provide.value('$provide', $provide);
});

但是这样也可以很容易地以不合时宜的方式定义组件。