Vue中的路由导航守卫有哪些?它们的执行顺序是什么?

简介: Vue中的路由导航守卫有哪些?它们的执行顺序是什么?

在 Vue 中,有以下三种路由导航守卫:

  • 全局守卫:
    • router.beforeEach:在进入每个路由之前执行。回调函数中有三个参数,to表示进入到哪个路由,from表示从哪个路由离开,next是一个函数,用于决定是否展示要看到的路由页面。
    • router.afterEach:在离开每个路由之后执行。回调函数中有两个参数,to表示进入到哪个路由,from表示从哪个路由离开。
  • 组件内的守卫:
    • beforeRouteEnter:在进入组件时执行。回调函数中有三个参数,tofrom参数的含义与全局守卫中的一致,next回调函数略有不同。如果直接以beforeRouteEnter进行访问,会发现alert输出hello undefined,这是因为在执行完之前,data数据还未渲染。所以,next会给一个对应的回调,帮助完成。
    • beforeRouteLeave:在离开组件时执行。如果确认离开,执行next();如果取消,执行next(false),留在当前页面。
  • 路由独享的守卫:
    • beforeEnter:用法与全局守卫一致。

执行顺序如下:

  1. 全局守卫的router.beforeEach
  2. 路由独享的守卫的beforeEnter
  3. 组件内的守卫的beforeRouteEnter
  4. 全局守卫的router.afterEach
  5. 组件内的守卫的beforeRouteLeave
  6. 路由独享的守卫的beforeEnter
相关文章
|
1天前
|
JavaScript 开发工具 git
大事件项目40---Vue代码里如何引入相对路径图片
大事件项目40---Vue代码里如何引入相对路径图片
|
2天前
|
JavaScript 前端开发 程序员
探索Vue.js宝库:解锁基础知识与实用技能之门(1. 数据绑定与响应式 2. 条件与循环 3. 组件化开发;1. 路由管理与导航 2. 状态管理与Vuex 3. Vue.js的生命周期)
探索Vue.js宝库:解锁基础知识与实用技能之门(1. 数据绑定与响应式 2. 条件与循环 3. 组件化开发;1. 路由管理与导航 2. 状态管理与Vuex 3. Vue.js的生命周期)
9 1
|
2天前
|
JavaScript
vue滚动到页面底部时加载
vue滚动到页面底部时加载
5 1
|
2天前
|
JavaScript 前端开发
一个好看的vue admin模板
这是一个关于Vue管理模板的引用,提到了[PanJiaChen](https://github.com/PanJiaChen/vue-admin-template)在GitHub上的`vue-admin-template`项目。该项目是一个前端管理模板,链接指向了详细的资源。页面中还包含了一张图片,但markdown格式中无法直接显示。简而言之,这是关于一个基于Vue的后台管理界面模板的参考信息。
|
2天前
|
资源调度 JavaScript API
Vue-treeselect:为Vue应用程序提供强大选择器的指南
Vue-treeselect:为Vue应用程序提供强大选择器的指南
6 0
|
2天前
|
JavaScript
vue知识点
vue知识点
5 0
|
3天前
|
JavaScript 前端开发
Vue,如何引入样式文件
Vue,如何引入样式文件
|
3天前
|
JavaScript
|
3天前
|
JavaScript 前端开发 API
|
3天前
|
JavaScript 前端开发 网络架构
Vue如何实现页面跳转路由,实现单页面跳转
Vue如何实现页面跳转路由,实现单页面跳转