使用Angular 2路由器拦截路由请求

Bea*_*wah 7 javascript angular2-routing angular

使用Angular 2路由器,我想在请求激活路由时捕获事件.在Angular 1.x中,我使用$ locationChangeSuccess,然后检查用户是否已登录.

我需要使用Angular 2做类似的事情,因此如果用户尚未通过身份验证,我可以将用户重定向到登录屏幕.

Kei*_*ebe 10

看看CanActivate和CanDeactivate.在官方的角度文档给创建管理后卫,我创建一个通用登录后卫的时候发现非常有用的一个例子.

CanActivate用于检查路由器是否可以导航到新路由,而CanDeactivate用于检查路由器是否可以离开当前路由.如果警卫出现在路线上,则每次导航时都会与警卫进行核对.

是一个直接链接到示例的链接.

  • 它又回到了新的路由器中.它曾经是一个装饰者,现在它是一个[接口](https://angular.io/docs/ts/latest/api/router/index/CanActivate-interface.html). (2认同)