angularjs – 有没有办法在AngularUI路由器中的任何子解析之前解析一个promise

前端之家收集整理的这篇文章主要介绍了angularjs – 有没有办法在AngularUI路由器中的任何子解析之前解析一个promise前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在coffeescript中有2个州……
stateProvider.state  'test',...
    resolve:
        user: (LongRunning)->
            LongRunning.authenticate().then ->
                console.log("We are authenticated!")

stateProvider.state  'test.child',...
    resolve:
        other: (AfterAuth)->
            AfterAuth.soSomethingWithAuth().then ->
                console.log("We are done!")

当然这不起作用,因为在解析父级的auth方法之前启动了子解析.这意味着第二个函数将不会被验证并导致整个状态失败.

现在它不一定是状态路径的一部分,但它需要在调用resolve函数时完全完成.

调用child中的方法之前,如何确保完全解析父函数

坏(?)解决方

我能够提出的一个答案是使用手动引导程序.然而,这是乏味的,因为我需要重新连接我的所有服务.无论如何我可以在Angular中做到吗?

你是使用AngularUI Router for Angular 2还是AngularJS?我认为AngularJS就是你使用coffeescript和AngularUI Router的事实.这是Angular标签而不是AngularJS.

无论如何在AngularUI路由器中,一个解析器可以依赖于另一个.像这样的东西:

function firstStep($stateParams,resolveStatus) {
   return $q.resolve();
 }

 resolve: {
   firstStep: firstStep,secondStep: ['firstStep',function (firstStep) {
   ...
   }]
 }

猜你在找的Angularjs相关文章