vue-router路由守卫

vue-router的生命周期
beforeEach 进入新路由之前执行
beforeResolve
afterEach 进入新路由之后执行
beforeRouteEnter 进入组件之前被调用
beforeRouteUpdate 不同路由组件被重复使用的时候被调用
beforeRouteLeave 离开该组件的时候被调用

  1. 路由守卫

    1. beforeEach,路由前置守卫,有三个参数,to,form,next
    2. beforeResolve,解析守卫,没有next参数
    3. afterEach,后置守卫
  2. 组件内路由守卫

    1. beforeRouteEnter,在导航确认前被调用,因此即将登场的新组件还没被创建,不能访问this,可以传一个回调给next来访问组件的实例,在导航被确认的时候执行回调,并且把组件实例作为回调方法的参数。
    2. beforeRouteUpdate,在当前路由改变,但是该组件被复用时调用,this已经可以使用了,所以不支持传递回调
    3. beforeRouteLeave,导航离开该组件的对应路由时调用,通常用来禁止用户还未保存修改前突然离开。该导航可通过next(false)来取消
  3. 路由独享守卫
    beforeEnter,可以在路由配置上直接定义beforeEnter守卫

  4. 完整的导航解析流程

    1. 导航被触发
    2. 在失活的组件里调用beforeRouteLeave守卫
    3. 调用全局的beforeEach守卫
    4. 在重用的组件里 beforeRouteUpdate 守卫
    5. 在路由配置里调用 beforeEnter 守卫
    6. 解析异步路由组件
    7. 在被激活的组件里调用 beforeRouteEnter 守卫
    8. 调用全局的 beforeResolve 守卫
    9. 导航被确认
    10. 调用全局的 afterEach 组件
    11. 触发DOM更新
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值