当组件完成渲染时,然后以角度2更改路径

时间:2016-06-11 11:06:07

标签: javascript angularjs angular

我有一个WhatsNew组件,这是我的路由配置:

@RouteConfig([

    { path: '/whatsnew', name: 'WhatsNew', component: WhatsNew },

])

我在另一条路线和组件中。我的问题是我希望whatsnew完全呈现,然后路由更改并导航到WhatsNew。我不希望用户看到渲染页面,怎么做角度2?

1 个答案:

答案 0 :(得分:0)

您可以实施CanActivate生命周期回调。通过这种方式,当对服务器的调用返回到该路由正常或重定向到另一个路由时,您可以将完成的promise返回true。

一个问题是CanActivate是装饰者而DI不支持装饰者,但您需要获得对服务的引用以进行服务器调用。

This comment包含一个指向Plunker的链接,演示如何将DI与CanActivate

一起使用

生命周期回调在继续导航之前不会等待解决的承诺存在一些问题。我不记得这是否适用于CanActivate。在路上还有再次一个新路由器,并且不太可能用旧路由器解决问题。