当前位置:网站首页 > Vue.js开发 > 正文

vue路由守卫函数是(vuex路由守卫)



路由守卫(Route Guard)是在路由切换时执行的一些特定函数,这些函数可以在路由导航的不同阶段被调用,以执行特定的逻辑来控制和管理路由的切换

通过编写和注册这些守卫函数,我们可以实现对路由的拦截、控制和管理,从而实现一些安全控制、权限控制、页面跳转控制等功能

导航守卫可以分为、和

路由守卫是在导航过程中按照一定的顺序执行的异步函数。在所有守卫函数 resolve 之前,导航处于等待状态

开发者可以创建多个守卫函数,并将它们组合成一个数组。当一个导航触发时,这些守卫函数会按照顺序被依次调用

如果在守卫函数执行过程中遇到了意外情况,可能会抛出一个 ,这会取消导航并调用 注册的回调函数

每个守卫函数接收两个参数:

  • : 需要前往的路由对应的标准化路由对象 --- 需要前往的路由
  • : 当前正要离开的路由对应的标准化路由对象 --- 当前正在离开的路由

守卫函数可以返回以下值:

  • : 取消当前的导航
  • : 正常执行当前导航
  • 一个路由字符串地址或路由对象: 跳转到返回的新路由

vue-router有三种全局路由守卫

守卫 函数 说明 功能 全局前置守卫 在路由改变之前 鉴权, 登录状态核对,打点等相关 操作 全局解析守卫 在导航被确认之前
1. 所有的组件内守卫执行完毕
2. 异步路由组件已经解析完成

方法可以确保路由组件及组件内回调被执行完成后再执行渲染
可以避免在渲染页面之前异步组件还未加载完成的情况
所以这个回调更多的是vue内部被回调

全局后置钩子 在路由跳转完成后执行的回调
注意: 此时导航已经完成,无法通过这个回调来改变导航
所以它不是守卫函数,只是一个钩子函数

比如页面滚动到指定位置、更新页面标题等











 
  
 
  

是路由独享守卫,该守卫只有在进入路由时触发,不会在 、 或 改变时触发

 
  

也可以将一个函数数组传递给 以方便在不同路由中复用守卫函数

 
  

组件内守卫指的是在内直接定义的导航守卫函数

也就是说组件内守卫只能在路由组件中使用,在渲染到的子组件中是不存在组件内守卫的

守卫 说明 异步组件加载完毕,组件实例化之前
不可以访问组件实例
当前路由改变,但是该组件被复用时调用
如 和 之间之间进行跳转的时候
可以访问组件实例

离开该组件的时候
可以访问组件实例








是唯一一个支持给 传递回调的守卫

是一个函数,在被回调的时候,会传入组件实例作为方法的参数

 
  

离开守卫 通常用来预防用户在离开界面时没有保存修改

 
  

vue-router路由守卫.png

到此这篇vue路由守卫函数是(vuex路由守卫)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • vue安装脚手架 检查版本(vue脚手架怎么老是安装报错)2025-06-24 10:27:05
  • 192.168.100.1随身wifi登录(1921681001随身wifi登录adminadmhih)2025-06-24 10:27:05
  • vue中插槽是什么(vue中插槽有什么用处)2025-06-24 10:27:05
  • jsjs是哪个地区的烟草(jy是哪个地方的烟草)2025-06-24 10:27:05
  • ubuntu16.04下载源(ubuntu下载源哪个最快)2025-06-24 10:27:05
  • vmware12.0密钥(vmware2012密钥)2025-06-24 10:27:05
  • vue3.0怎么安装(vuecli3安装)2025-06-24 10:27:05
  • junit4下载教程(junit4.12下载)2025-06-24 10:27:05
  • ubuntu16.04下载源(ubuntu software下载)2025-06-24 10:27:05
  • jsz是哪个明星的缩写(jz是哪位明星的缩写)2025-06-24 10:27:05
  • 全屏图片