我刚刚将Angular2升级到最终版本,我正在寻找好的做法 .
我有一个开始页面,在开始时显示一组用户,该组通过访问REST服务而闻名 .
我去了www.app.com - angular app启动,它检索它应该显示的组 . 此时我希望应用程序转到www.app.com/group/group1 - 但在检索组名之前,angular已尝试导航并抛出异常,因为它找不到路由 .
我想出了2个黑客:
-
make''路由转到GroupSelector组件,并从那里导航组名解析后,它很糟糕,因为我真的想在另一个组件上启动我的应用程序
-
等待组名,然后使用Router.navigate导航,这会引发异常,因为找不到路由,即使app工作正常
使用以前版本的Angular2 Router(beta 1),我启动了像www.app.com这样的应用程序 - 应用程序已加载,它检索了一个组的名称,然后使用Router.navigate应用程序将加载Groups组件并提供正确的组名参数对于这个组件,一切都运行得很好
有没有办法如何延迟路由器,只有在从REST服务检索到必要的数据后才重定向到正确的路由?
1 回答
在路由器配置文件中使用resolve属性
https://angular.io/docs/ts/latest/api/router/index/Resolve-interface.html