【发布时间】:2016-05-15 22:30:43
【问题描述】:
在新的 rc 路由器中是否有类似 @CanActivate 的东西,或者如果它不可激活,我是否必须使用 routerOnActivate 并导航回来?
问候
【问题讨论】:
在新的 rc 路由器中是否有类似 @CanActivate 的东西,或者如果它不可激活,我是否必须使用 routerOnActivate 并导航回来?
问候
【问题讨论】:
截至 2016 年 5 月 15 日,答案是 @CanActivate 功能目前未在候选版本中实现,除了使用 router-deprecated 或切换到备用路由器实现(例如 ngrx)之外,真的没有什么可做的除了等待。
这是一个要求解决的未解决问题:https://github.com/angular/angular/issues/8655
这是一个document,我花了很长时间才找到有关建议的路由器重构的讨论(您可以在文档中找到@CanActivate 的提及)。
【讨论】:
要使用@CanActivate,您需要导入router-deprecated 而不是router。
如果你想使用新的Router,
routerCanDeactivate()lifeCycleHook 可能是 @CanActivate 的替代品。
唯一的区别是,现在您将允许/禁止在上一条路线而不是下一条路线上导航。
【讨论】:
CanDeactivate 可以替代CanActivate 吗?我认为“CanActivate”还没有在新路由器中实现。