使用Angular 2路由器我想在请求激活路由时捕获事件。在Angular 1.x中,我使用$ locationChangeSuccess,然后检查用户是否已登录。
我需要使用Angular 2做类似的事情,所以如果用户尚未通过身份验证,我可以将用户重定向到登录屏幕。
答案 0 :(得分:10)
看看CanActivate和CanDeactivate。 official angular docs给出了一个创建管理员防范的示例,我发现在创建一般登录防护时非常有用。
CanActivate用于检查路由器是否可以导航到新路由,而CanDeactivate用于检查路由器是否可以离开当前路由。如果警卫出现在路线上,则每次导航时都会与警卫进行核对。
Here是一个直接链接到示例的链接。