work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Angular 4 路由守卫

Posted on 2017-08-14 14:54  work hard work smart  阅读(505)  评论(0编辑  收藏  举报

路由守卫

只有当用户已经登录并拥有某些权限时才能进入某些路由

一个有多个表单组成的向导,如注册流程,用户只有在当前组件的组件中填写了满足要求的信息才可以导航到下一个路由

当用户未执行保存操作而试图离开当前导航时提醒用户

 

CanActivate: 处理导航到某种路由的情况

CanDeactivate: 处理从当前路由离开的情况

Resolve:在路由激活之前获得路由数据

 

一.CanActivate

1. 创建login.guard.ts

 

2. 使用路由守卫

当canActivate为ture时,才能路由到产品组件

 

二、CanDeactivate

1. 创建unsavd.guard.ts 定义如下:

2. 配置

3. 效果图

点击“主页”时弹出是否确认离开, 点击确定才能进入“主页”

 

三、Resolve

1. 创建product.resolve.ts

 

 Product为要guard的数据类型

定义如下:

 

2. 路由配置