如何在AngularJS中组织一些Utils文件以从app.config中调用

How to organize some Utils files in AngularJS to call from app.config?

本文关键字:文件 app 调用 config Utils AngularJS      更新时间:2023-09-26

我需要配置AngularJS -设置默认的$http头。在我的例子中,我需要生成其中的一些。要做到这一点,我需要从Utils服务中调用一些可重用的函数。

由于app.config不支持服务注入,我该如何组织我的代码来启用此注入?

app.service('Utils', function(){
    this.generateGuid(){}
});
app.config(['Utils', function(Utils){
    //...
}]);

或者我应该用原始函数创建自己的自定义js文件吗?

如果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();
});