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
相关文章
|
6月前
|
资源调度 JavaScript 前端开发
路由管理:Vue Router的使用和配置技巧
【10月更文挑战第21天】路由管理:Vue Router的使用和配置技巧
146 3
|
6月前
|
JavaScript
Vue 的父组件和子组件生命周期钩子执行顺序
在 Vue 中,父组件和子组件的生命周期钩子执行顺序如下:
|
6月前
|
缓存 JavaScript 搜索推荐
Vue Router 导航钩子的使用场景
【10月更文挑战第13天】
58 1
|
6月前
|
JavaScript 搜索推荐 数据处理
Vue Router 导航钩子
【10月更文挑战第17天】需要注意的是,过度使用导航钩子可能会导致代码复杂度增加,因此需要合理规划和使用。此外,不同的钩子在不同的场景下具有不同的作用,需要深入理解其特点和用法,才能更好地发挥它们的价值。可以在实际项目中结合具体需求,充分利用这些导航钩子来打造更加智能、灵活的路由导航机制。
67 1
|
6月前
|
JavaScript
|
6月前
|
JavaScript API
vue 批量自动引入并注册组件或路由等等
【10月更文挑战第12天】 vue 批量自动引入并注册组件或路由等等
|
6月前
|
JavaScript 前端开发 API
vue3中常用插件的使用方法:按需引入自定义组件,自动导入依赖包,自动生成路由,自动生成模拟数据
vue3中常用插件的使用方法:按需引入自定义组件,自动导入依赖包,自动生成路由,自动生成模拟数据
1396 0
|
5月前
|
JavaScript UED
"Vue实战技巧大揭秘:一招解决路由跳转页面不回顶部难题,让你的单页面应用用户体验飙升!"
【10月更文挑战第23天】在Vue单页面应用中,点击路由跳转时,默认情况下页面不会自动滚动到顶部,这可能影响用户体验。本文通过一个新闻网站的案例,介绍了如何使用Vue-router的全局前置守卫和`scrollBehavior`方法,实现路由跳转时页面自动滚动到顶部的功能,提升用户浏览体验。
235 0
|
6月前
|
JavaScript API
Vue中使用require.context()自动引入组件和自动生成路由的方法介绍
Vue中使用require.context()自动引入组件和自动生成路由的方法介绍
238 0
|
JavaScript 测试技术 容器
Vue2+VueRouter2+webpack 构建项目
1). 安装Node环境和npm包管理工具 检测版本 node -v npm -v 图1.png 2). 安装vue-cli(vue脚手架) npm install -g vue-cli --registry=https://registry.
1112 0