Angular路由守卫

配置路由守卫接口文件

路由守卫支持多种守卫接口:

  1. 用CanActivate来处理导航到某路由的情况。
// 创建auth.guard.ts
import { Injectable } from '@angular/core';
import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
@Injectable({
  providedIn: 'root',
})
export class AuthGuard implements CanActivate {
// 可在canActivate中做验证
  canActivate(
    next: ActivatedRouteSnapshot, // 包含了即将被激活的路由
    state: RouterStateSnapshot // 包含了该应用即将到达的状态(url)
    ): boolean {
    console.log('AuthGuard#canActivate called');
    return true;
  }
}
// 引用auth.guard.ts - 无需导入至module
import { AuthGuard } from './auth.guard.ts';
export const RootRouting: Routes = [
  { path: 'home',
   canActivate: [AuthGuard], //可以添加多个路由守卫
   component: HomeComponent }
];
  1. 用CanActivateChild来处理导航到某子路由的情况。
  2. 用CanDeactivate来处理从当前路由离开的情况
  3. 用Resolve在路由激活之前获取路由数据。用Resolve在路由激活之前获取路由数据。
  4. 用CanLoad来处理异步导航到某特性模块的情况。用CanLoad来处理异步导航到某特性模块的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值