在angular Provider中删除$ get prop的目的是什么?

时间:2016-06-25 04:20:20

标签: angularjs

我看到了一段关于Angular的提供商的代码,如下所示:



angular.module('BlurAdmin.theme')
    .provider('baConfig', configProvider);

  /** @ngInject */
  function configProvider() {
    var conf = {
      theme: {
        blur: false
      }
    };

    conf.changeTheme = function(theme) {
      angular.merge(conf.theme, theme)
    };

    conf.$get = function () {
      // what does this code meaning? why delete $get?
      delete conf.$get;
      return conf;
    };
    return conf;
  }




但我不知道delete conf.$get是什么意思?

1 个答案:

答案 0 :(得分:0)

显然,这个提供者的作者认为从$ get方法返回提供者本身是个好主意。因此,提供者创建的服务就是提供者本身。

因为$ get显然不应该是服务方法的一部分,而只是提供者的方法的一部分,他/她在使用angular调用$ get之后删除了$ get方法来创建服务实例。 / p>

我不会将该代码用作如何使用提供程序创建服务的一个很好的示例。只需为提供者和服务使用不同的对象。