使用url的路由器延迟加载状态

我正在尝试查看是否可以使用ui-router通过实现状态的延迟加载将状态设置委托给我的应用程序的子组件。 尽管我设法使用$state.go或同等版本来使延迟加载部分工作,但我无法使用URL来使其工作。

例如,在启动时我的app将只设置以下两个状态: view1view2 。 当view1状态被加载后,它会设置它自己的子状态: view1.profileview1.interest 。 看看这个来自Gist的示例网站:

http://bl.ocks.org/marcoslin/raw/b59cfa9a9a44bde04f9f/

从上面的例子可以看出, View1Profile在启动时并不是一个有效的链接,但是如果你点击它,它将加载view1 ,然后加载view1profile和结果url:

http://bl.ocks.org/marcoslin/raw/b59cfa9a9a44bde04f9f/#/view1/profile

不过,如果您点击上面生成的网址, app重新加载并不再知道view1profile并将您重定向home 。 关于如何解决这个问题的任何建议? 更具体地说,无论如何,我可以得到的URL触发$stateNotFound事件?

也许答案部分是关于如何:懒惰加载状态的神秘文档。 我无法弄清楚他们的意思:

  • 如何在事件上设置重试承诺
  • 如何使用存储提供者定义unfoundState并解决承诺

  • 马科斯,

    请参阅http://christopherthielen.github.io/ui-router-extras/example/future/index.html将FutureState与AngularAMD集成。

    请参阅http://christopherthielen.github.io/ui-router-extras/#/future/获取API以及$ futureStateProvider的概述。

    链接地址: http://www.djcxy.com/p/79881.html

    上一篇: router lazy load state using url

    下一篇: all <see cref="MyClass"/> are missing