如何组织AngularJS中的一些Utils文件来从app.config调用?

时间:2014-07-28 11:32:42

标签: javascript angularjs angularjs-service

我需要配置AngularJS - 设置默认的$ http标头。在我的情况下,我需要生成其中的一些。为此,我需要从Utils服务中调用一些可重用的函数。

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

app.service('Utils', function(){
    this.generateGuid(){}
});

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

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

1 个答案:

答案 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();
});

希望这有帮助。