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

vue钩子函数执行顺序(vue 钩子函数)



beforeEach的钩子函数,它是一个全局的before 钩子函数, (before each)意思是在 每次每一个路由改变的时候都得执行一遍。

它的三个参数:

  • : (Route路由对象) 即将要进入的目标 路由对象 to对象下面的属性: path params query hash fullPath matched name meta(在matched下,但是本例可以直接用)
  • : (Route路由对象) 当前导航正要离开的路由
  • : (Function函数) 一定要调用该方法来 resolve 这个钩子。 调用方法:next(参数或者空) *必须调用
  • next(无参数的时候): 进行管道中的下一个钩子,如果走到最后一个钩子函数,那么 导航的状态就是 confirmed (确认的)
  • next('/') 或者 next({ path: '/' }): 跳转到一个不同的地址。当前的导航被中断,然后进行一个新的导航。
  • 应用场景:可进行一些页面跳转前处理,例如判断需要登录的页面进行拦截,做登录跳转!!

应用场景,进入页面登录判断、管理员权限判断、浏览器判断

router.beforeEach 是页面加载之前,相反router.afterEach是页面加载之后

你可以在路由配置上直接定义 beforeEnter 守卫:

这些守卫与全局前置守卫的方法参数是一样的。

(一) 清除当前组件中的定时器

当一个组件中有一个定时器时, 在路由进行切换的时候, 可使用beforeRouteLeave将定时器进行清楚, 以免占用内存:

(二) 当页面中有未关闭的窗口, 或未保存的内容时, 阻止页面跳转

如果页面内有重要的信息需要用户保存后才能进行跳转, 或者有弹出框的情况. 应该阻止用户跳转,结合vuex状态管理(dialogVisibility是否有保存)

(三) 保存相关内容到Vuex中或Session中

当用户需要关闭页面时, 可以将公用的信息保存到session或Vuex中

  • 导航被触发。
  • 在失活的组件里调用 beforeRouteLeave 守卫。
  • 调用全局的 beforeEach 守卫。
  • 在重用的组件里调用 beforeRouteUpdate 守卫 (2.2+)。
  • 在路由配置里调用 beforeEnter。
  • 解析异步路由组件。
  • 在被激活的组件里调用 beforeRouteEnter。
  • 调用全局的 beforeResolve 守卫 (2.5+)。
  • 导航被确认。
  • 调用全局的 afterEach 钩子。
  • 触发 DOM 更新。
  • 调用 beforeRouteEnter 守卫中传给 next 的回调函数,创建好的组件实例会
  • 作为回调函数的参数传入。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

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

版权声明


相关文章:

  • plsql14.0注册码(plsql14注册码永久)2025-06-22 23:09:07
  • js深拷贝和浅拷贝概念(js深拷贝与浅拷贝的区别)2025-06-22 23:09:07
  • Limbo虚拟机下载安装(limbo虚拟机4.1.0)2025-06-22 23:09:07
  • jsy是哪个明星的名字缩写(jyy是哪个明星的缩写)2025-06-22 23:09:07
  • pcie5.0能插pcie4.0么(pcie5.0和pcie4.0区别)2025-06-22 23:09:07
  • ubuntu镜像文件iso下载教程(ubuntu20.04镜像下载)2025-06-22 23:09:07
  • 安装vue-router(安装vue-router插件正确的命令)2025-06-22 23:09:07
  • vue插槽是什么(vuejs插槽)2025-06-22 23:09:07
  • ubuntu更新源命令出现错误(ubuntu12.04更新源)2025-06-22 23:09:07
  • vue安装脚手架失败(vue3脚手架安装)2025-06-22 23:09:07
  • 全屏图片