码迷,mamicode.com
首页 > 其他好文 > 详细

路由守卫

时间:2018-02-01 20:40:05      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:mod   bsp   允许   技术   image   module   img   resolve   分享图片   

路由守卫

CanActivate  | 处理导航到某路由的情况—阻止或允许用户进入组件

CanDeactivate  | 处理从当前路由离开的情况—用户离开时

Resolve  | 在路由激活之前获取路由数据—在组件绑定的属性还没有被赋值时会报错,这个守卫就是解决这个问题的

CanActivate

1.需要新建一个 XX.guard.ts 文件

技术分享图片

2.在这个.ts 文件里导入 CanActivate 模块 ...

长这样:

技术分享图片

canActivate(){}  这个方法 return true 用户就能正常加载这个路由组件,返回false 就被拦住了

3.在app.module.ts里导入这个模块

技术分享图片

在providers:[] 注入模块

技术分享图片

4.在app-routing.module.ts 导入这个模块

技术分享图片

在你需要使用路由守卫的地方这样写:

技术分享图片

 

CanDeactivate

1.需要新建一个 XX.guard.ts 文件

导入CanDeactivate 模块和要保护的模块

技术分享图片

这个文件是这样写的:

箭头所指的就是需要保护的模块,canDeactivate 这个函数返回true表示同意离开,返回false表示不同意离开

技术分享图片

2.在app.module.ts中导入刚刚创建的这个模块

技术分享图片

注入到providers

技术分享图片

3.在app-routing.module.ts 里导入创建的这个模块

技术分享图片

在要保护的模块的路由的地方这样配置:

技术分享图片

 

 

Resolve 

路由守卫

标签:mod   bsp   允许   技术   image   module   img   resolve   分享图片   

原文地址:https://www.cnblogs.com/chefweb/p/8400690.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!