Javascript 在角节点上使用路由上的服务配置

Javascript 在角节点上使用路由上的服务配置,javascript,angularjs,ionic-framework,angular-ui-router,angular-routing,Javascript,Angularjs,Ionic Framework,Angular Ui Router,Angular Routing,如果我还没有开始,我必须限制对某个状态的访问 我有: 应用->初始化服务(工厂) 应用程序->运行 运行应用程序时,出现以下错误: Uncaught Error: [$injector:modulerr] Failed to instantiate module App due to: Error: [$injector:modulerr] Failed to instantiate module App due to: Error: [$injector:unpr] Unknown provi

如果我还没有开始,我必须限制对某个状态的访问

我有:

应用->初始化服务(工厂) 应用程序->运行 运行应用程序时,出现以下错误:

Uncaught Error: [$injector:modulerr] Failed to instantiate module App due to:
Error: [$injector:modulerr] Failed to instantiate module App due to:
Error: [$injector:unpr] Unknown provider: InitService
我认为这是因为module.run在服务工厂定义之前运行。如果是这样,我应该如何在module.run load之后注入服务

还有更正确的方法吗


对不起,我可怜的英语。

你能把代码贴在把服务连接在一起的地方吗?如果您试图访问尚未注册的服务-angular无法使用它。这不是因为顺序,我尝试在$rootScope中使用属性,而在bootstrap中(使用module.run())无法访问它。我用一个全局变量来解决这个问题。我会小心使用全局变量。是否可以在$rootScope上使用事件侦听器?它也是引导css吗?或者angular.bootstrap?不可能使用$rootScope,我对module.config()说“bootstrap”,在那里我配置路由(很抱歉混淆了),我试图要求$rootScope,但我不能。我讨厌全局设置,但这是一个临时解决方案。我希望找到做这件事的好方法。
//...
    $stateProvider

        .state('welcome',
            url: '/welcome',
            controller: 'WelcomeCtr',
            template: welcomeTemplate
         })

         .state('app', {
            url: '/app',
            abstract: true,
            controller: 'AppCtr',
            template: appTemplate,
            resolve: {
                security: [
                     '$q',
                     'InitService',
                      function ($q, InitService) {
                          if (!InitService.isStarted()) {
                              return $q.reject(new Error("Is not started"));
                          }
                      }
                ]
            }
         })

    ;
//...
Uncaught Error: [$injector:modulerr] Failed to instantiate module App due to:
Error: [$injector:modulerr] Failed to instantiate module App due to:
Error: [$injector:unpr] Unknown provider: InitService