2016-05-14 103 views

回答

1

截至2016年5月15日的答案是@CanActivate功能目前未在发布候选版本中实现,除了使用router-deprecated或切换到备用路由器实施方案(如ngrx)之外,除了等待外,没有其他任何事情可做。

这里是一个开放的问题,要求的解决方案:https://github.com/angular/angular/issues/8655

这里是一个document它花了年龄找到其中谈到了建议路由器重构(你可以找到在doc @CanActivate提及)。

+0

真的!非常感谢! – bucicimaci

1

要使用@CanActivate需要导入router-deprecated,而不是router


如果您想使用新Router

routerCanDeactivate() lifeCycleHook这可能是更换为@CanActivate

唯一的区别是,现在您将允许/不允许在前一条路线上导航,而不是下一条。

+1

你确定'CanDeactivate'可以代替'CanActivate'吗?我认为'CanActivate'在新路由器中尚未实现。 –

+1

@GünterZöchbauer,no。我怎么能确定。我在回答中表达了我的疑问。也许你是对的,但我真的不知道。 –