AngularJS:将自定义服务注入module.config函数是不可能的?

时间:2014-10-07 08:15:48

标签: angularjs dependency-injection

我尝试将自定义服务注入模块配置功能,但是我收到一个错误,该服务未定义:

var myApp = angular.module('myApp', []);

myApp.config(function($httpProvider, CommonConfigService) {

    var baseUrl = CommonConfigService.getRESTUrl();

});

我在几个控制器中使用它没有任何问题。

有人可以提示我如何解决这个问题吗?

谢谢和亲切的问候

2 个答案:

答案 0 :(得分:1)

您无法根据angular docs

config注入服务
  

配置块 - 在提供商注册期间执行   和配置阶段。只能注入提供者和常量   到配置块。这是为了防止意外实例化   服务完全配置之前的服务。

答案 1 :(得分:0)

如果服务是作为提供创建的,则可能。而不是:

app.factory('MyFactory', function(){});

使用

app.provider('MyFactory', function(){});

然后你可以像这样注射它:

app.config(function($httpProvider, MyFactoryProvider) {
    var baseUrl = MyFactoryProvider.getRESTUrl();
});