【问题标题】:How do I call a service in angularJs config?如何在 angularJs 配置中调用服务?
【发布时间】:2019-05-08 19:50:45
【问题描述】:

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

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

【问题讨论】:

  • AngularJS 框架分两个阶段运行,配置阶段和运行阶段。在配置阶段只能注入提供者配置对象。服务只能在运行阶段注入。
  • 另外,添加到@georgeawg,如果你想在route更改上触发一些服务。您可以在.when() 中使用resolve 属性。让我们知道您的用例

标签: angularjs


【解决方案1】:

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

来自文档:

module.config(configFn);

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

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

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

有关详细信息,请参阅

【讨论】:

    猜你喜欢
    • 2013-07-15
    • 2015-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多