我看到了一段关于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
是什么意思?
答案 0 :(得分:0)
显然,这个提供者的作者认为从$ get方法返回提供者本身是个好主意。因此,提供者创建的服务就是提供者本身。
因为$ get显然不应该是服务方法的一部分,而只是提供者的方法的一部分,他/她在使用angular调用$ get之后删除了$ get方法来创建服务实例。 / p>
我不会将该代码用作如何使用提供程序创建服务的一个很好的示例。只需为提供者和服务使用不同的对象。