SuperAPI AI 工具集

angular-guards

前端与建站

查看项目

更新于 10-16 02:35

技能介绍

用途:面向 Angular 应用的路由保护,处理登录鉴权、子路由权限、懒加载拦截与未保存更改确认等场景。

主要能力:资料列出 CanActivate(路由保护)、CanActivateChild(子路由保护)、CanMatch(阻止未授权代码懒加载)、CanDeactivate(离开前确认未保存更改)等守卫类型,并给出函数式守卫示例,如用 inject 获取 AuthService 与 Router,未通过时返回 router.createUrlTree(['/login'])。

版本与 API 变化:标注为 Angular 21(2025)。新增函数式守卫,推荐用 CanActivateFn 替代基于类的写法;新增 CanMatch 守卫;推荐用 provideRouter 注册守卫;基于类的守卫已标记为弃用,建议迁移到函数式。

使用方式:在路由配置中通过 canActivate、canActivateChild、canMatch 数组挂载守卫;可组合多个守卫;可通过路由 data 向守卫传参(如 requiredRole);可配合 withComponentInputBinding 使用。

适用场景:需要按角色或登录状态控制页面访问、按权限决定是否加载懒加载模块、在离开编辑页面前提示未保存更改的 Angular 项目。

限制:资料未提供安装命令、依赖版本细节、完整 API 参数说明及测试方式,相关事实暂未提供。