UI-Router:父状态和子状态的顺序解析

时间:2014-08-15 19:41:34

标签: javascript angularjs angular-ui angularjs-routing

我有两个抽象状态parentparent.child,以及一个可激活状态parent.child.grand

我希望parentparent.child.grand执行其解析之前承诺已解决。为什么?因为parent需要来自parent.grand.child解析的ajax请求的某些数据。

这里是gist

是否有可能顺序将父级的承诺链接到子状态而不使用控制器?

parent解析开始 - >完成ajax请求 - >解析承诺 - > parent.child.grand解析启动 - >完成ajax请求 - >解决承诺)

2 个答案:

答案 0 :(得分:17)

我已经看到了一些答案,但如果没有例子,它仍然没有完全清楚。文档说:

  

如果您愿意,必须将解析密钥注入子状态   在实例化之前等待promises得到解决   孩子。

以下是示例:

"aa,a,".split(",", -1)

并且您不必将resA注入子控制器。

答案 1 :(得分:6)

如果将auth添加到孙子解析的依赖注入中,ui-router将在孙子解析之前解析它。

['authsrv', 'auth', function(authsrv, auth){}]

希望这是有道理的。