我需要配置AngularJS - 设置默认的$ http标头。在我的情况下,我需要生成其中的一些。为此,我需要从Utils服务中调用一些可重用的函数。
由于app.config不支持服务注入,我如何组织我的代码来启用此注入?
app.service('Utils', function(){
this.generateGuid(){}
});
app.config(['Utils', function(Utils){
//...
}]);
或者我应该使用原始函数创建自己的自定义js文件吗?
答案 0 :(得分:0)
如果Utils
服务不需要任何其他服务,您可以将其写为提供者,如下所示:
app.provider('Utils', function () {
this.generateGuid = function () {};
this.$get = function () {
return this; // a provider instance and service instance will be the same object.
};
});
然后在app.config中注入一个提供程序实例:
app.config(function (UtilsProvider) {
UtilsProvider.generateGuid();
});
在app.run()或控制器中使用,只需像往常一样注入服务实例:
app.controller('FooController', function (Utils) {
Utils.generateGuid();
});
希望这有帮助。