在新的rc路由器中是否有像@CanActivate类似的东西,或者我是否必须使用routerOnActivate并在无法激活的情况下导航回来?
此致
答案 0 :(得分:1)
要使用@CanActivate
,您需要导入router-deprecated
而不是router
。
如果您想使用新的Router
,
有routerCanDeactivate() lifeCycleHook,它可能是@CanActivate
的替代品。
唯一的区别是,现在你允许/禁止在之前的路线而不是下一条路线上导航。
答案 1 :(得分:1)
截至2016年5月15日的答案是@CanActivate功能目前尚未在候选发布版中实现,除了使用router-deprecated
或切换到备用路由器实现,例如ngrx
,其实并非如此除了等待之外别无其他。
这是一个需要解决方案的公开问题:https://github.com/angular/angular/issues/8655
这是一个document,我花了很长时间才找到关于提议的路由器重构的讨论(你可以在文档中找到@CanActivate的提及)。