导航守卫分类&导航守卫完整的执行流程

一,导航守卫分类:

  1. 全局守卫

  1. 全局前置守卫--- beforeEach

  1. 全局解析守卫 --- beforeResolve

  1. 全局后置守卫 --- afterEach

  1. 路由独享守卫

路由独享 beforeEnter

  1. 组件中的路由守卫

  1. 进入 beforeRouterEnter

  1. 更新 beforeRouterUpdata

  1. 离开 beforeRouterLeave

二,导航守卫完整的执行流程

  1. 路由A离开到路由B的情况下

  1. 触发路由A的beforeRouterLeave守卫

  1. 触发beforeEach 全局前置守卫

  1. 触发路由B中 beforeEnter 路由独享守卫(如果写了路由独享守卫就会在这个步骤触发,如果没写就不触发这个步骤)

  1. 触发B中的beforeRouterEnter守卫

  1. 触发beforeRsolve 全局解析守卫

  1. 触发 afterEach 全局后置守卫

  1. 路由A离开到路由A的情况

也就是当我们需要在页面中改变某一部分数据时,需要触发的流程(如:tab切换时)

  1. 触发 beforeEach 全局前置守卫

  1. 触发 beforeEnter 路由独享守卫(如果写了路由独享守卫就会在这个步骤触发,如果没写就不触发这个步骤)

  1. 触发组件中的beforeRouterUpdata 守卫(数据进行了修改)

  1. 触发beforeRsolve全局解析守卫

  1. 触发afterEach全局后置守卫

3.完整的导航解析流程:

  1. 导航被触发

  1. 在失活的组件里调用beforeRouteLeave守卫

  1. 调用全局前置守卫(beforeRouterEnter)

  1. 在重用的组件里调用beforeRouteUpdata守卫

  1. 在路由配置里调用beforeEnter

  1. 解析异步路由组件

  1. 在被激活的组件里面调用beforeRouteEnter

  1. 调用全局的beforeResolve守卫

  1. 导航被确认

  1. 调用全局的afterEach钩子

  1. 触发DOM更新

  1. 调用beforeRouteEnter守卫传给next的回调函数,创建好的组件实例会作为参数传入

以上内容是自己的总结,如果有错麻烦提醒提醒。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值