angular2 全局路由守卫_Angular 路由守卫

本文介绍了Angular的路由守卫功能,用于控制页面跳转的权限。通过canActivate接口实现根据用户身份判断是否允许进入特定路由,详细展示了如何创建路由守卫服务并注册,以及如何在路由配置中应用路由守卫,实现不同身份进入不同路由的逻辑。
摘要由CSDN通过智能技术生成

1. 路由

Angular路由: 可以控制页面跳转;可以在多视图间切换;

2. 路由守卫

Angular路由守卫: 在进入或离开某路由时,用于判断是否可以离开、进入某路由;;; return true 代表可以进入当前路由;return false 代表不可以进入当前路由,但可以进入自定义的路由;

3. 路由守卫与路由的关系

路由守卫只只能应用于路由项上;路由守卫可以应用于多个路由项;每个路由项也可以有多个路由守卫;

路由守卫通过实现如下接口来操作:

canActivate: 控制是否允许进入路由。(通过return true/false决定)

canActivateChild: 等同 canActivate,只不过针对是所有子路由。

canDeactivate: 控制是否允许离开路由。

canLoad: 控制是否允许延迟加载整个模块。

4. 什么情况下,路由项上需要配置路由守卫属性

当需要某些条件/某个身份才能进入的路由,这时需要在路由项上加入路由守卫属性

5. 路由守卫的使用 (本例主要实现根据不同身份进入不同路由)

第一步: guard.service.ts - 定义路由守卫文件

第一种写法: 返回Promise对象

@Injectable()

export class GuardService implements CanActivate {

constructor(private router: Router, private _http: HttpClie

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值