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

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



VUE生命周期中的钩子函数及父子组件的执行顺序

在这里插入图片描述
在vue实例的整个生命周期的各个阶段,会提供不同的钩子函数以供我们进行不同的操作。先列出vue官网上对各个钩子函数的详细解析。

 
  

vue-router的导航守卫实际和组件的生命周期都是同一类型的钩子函数,在一个特定时间内会触发。

导航守卫有三个类型,分别是全局路由守卫路由独享守卫组件内的钩子。

三个参数:

 
  

模块一:全局导航钩子函数

1、vue router.beforeEach(全局前置守卫)

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

应用场景:可进行一些页面跳转前处理,例如判断需要登录的页面进行拦截,做登录跳转!

 
  

2、vue router.afterEach(全局后置守卫)

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

模块二:路由独享的守卫(路由内钩子)

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

 
  

模块三:组件内的守卫(组件内钩子)

1、beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave

 
  
 
  
 
  
 
  
 
  
 
  
  1. 路由钩子在实际开发中的应用场景

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

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

 
  

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

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

 
  

完整的导航解析流程

  1. 导航被触发。
  2. 在失活的组件里调用 beforeRouteLeave 守卫。
  3. 调用全局的 beforeEach 守卫。
  4. 在重用的组件里调用 beforeRouteUpdate 守卫 (2.2+)。
  5. 在路由配置里调用 beforeEnter。
  6. 解析异步路由组件。
  7. 在被激活的组件里调用 beforeRouteEnter。
  8. 调用全局的 beforeResolve 守卫 (2.5+)。
  9. 导航被确认。
  10. 调用全局的 afterEach 钩子。
  11. 触发 DOM 更新。
  12. 调用 beforeRouteEnter 守卫中传给 next 的回调函数,创建好的组件实例会作为回调函数的参数传入。
到此这篇vue钩子函数执行顺序(vue11个钩子函数)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • js 深拷贝数组(js深拷贝数组的三种实现方式)2026-01-28 19:45:09
  • vue 官网(vue 官网框架)2026-01-28 19:45:09
  • ubuntu20.04镜像安装教程(ubuntu18.04镜像)2026-01-28 19:45:09
  • 跨域解决方案cors(跨域解决方案jsonp)2026-01-28 19:45:09
  • redhat6.0安装教程(redhat6.6安装教程)2026-01-28 19:45:09
  • vue路由守卫死循环(vue路由守卫控制页面跳转)2026-01-28 19:45:09
  • vue路由跳转报错(vue路由跳转的三种方法)2026-01-28 19:45:09
  • vue的钩子函数和生命周期详解(vue的钩子函数是什么)2026-01-28 19:45:09
  • 什么是流量回放(什么是流量回放和vue?)2026-01-28 19:45:09
  • redhat6.9 u盘安装(redhat6.9 u盘安装后无法进系统)2026-01-28 19:45:09
  • 全屏图片