2016-05-14 135 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。我怎麼能確定。我在回答中表達了我的疑問。也許你是對的,但我真的不知道。 –