ionic4.x仿京东 - 11.Angular路由守卫,登录权限判断

一、路由守卫

1、概念——当用户满足一定条件才被允许进入或者离开一个路由。

2、路由守卫场景:

  • 只有当用户登录并拥有某些权限的时候才能进入某些路由。
  • 一个由多个表单组成的向导,例如注册流程,用户只有在当前路由的组件中填写了满足要求的信息才可以导航到下一个路由。
  • 当用户未执行保存操作而试图离开当前导航时提醒用户。

3、路由守卫

Angular 提供了一些钩子帮助控制进入或离开路由。这些钩子就是路由守卫,可以通过这些钩子实现上面场景。

  • CanActivate: 处理导航到某路由的情况。判断用户有没有权限访问
  • CanDeactivate: 处理从当前路由离开的情况。离开时弹窗是否保存信息,也可以写在离开的生命周期函数里
  • Resolve: 在路由激活之前获取路由数据。

详情参考:http://bbs.itying.com/topic/5cd0f7dd344fb3153804ee69

 

二、CanActivate 判断用户权限

1、创建一个login的守卫

ionic g guard services/login

【login.guard.ts】

你可能感兴趣的:(ionic)