如何在angularJs配置中调用服务?

时间:2018-12-07 03:38:02

标签: angularjs

我有一个需要在应用程序的配置模块中调用的服务,但是当我尝试注入它时会出错。有任何想法吗?仅供参考-注入和执行此服务后,该服务在控制器中可以正常工作。

app.config(['$routeProvider', 'myService', function($routeProvider, myService) {
    var controller = myService.getSomeValue() ? 'FirstController', 'SecondController';
    $routeProvider
        .when('/', {
            'templateUrl': '/myTemplate.html'
            'controller': controller
        })
});
  

由于以下原因,无法实例化模块应用程序:       错误:[$ injector:unpr] http://errors.angularjs.org/1.5.7/$injector/unpr?p0=myService

1 个答案:

答案 0 :(得分:0)

AngularJS框架分为两个阶段运行,即配置阶段和运行阶段。在配置阶段只能注入提供者对象。服务只能在运行阶段注入。

从文档中:

  

module.config(configFn);

     

使用此方法通过注入服务providers来配置服务,例如用于向$routeProvider添加路由。

     

请注意,您只能将providersconstants 注入此功能。

     

有关如何配置服务的更多信息,请参见Provider Recipe

有关更多信息,请参见