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

vue2生命周期执行顺序(vue2的生命周期函数)



Vue3 生命周期


  1. beforeCreate:创建之前(、和都还是,不可用的)
  2. created:创建完毕(能读取到数据的值,但是还没生成)
  3. beforeMount:挂载之前(生成,但此时还没有挂载中的数据)
  4. mounted:挂载完毕(已经成功挂载渲染的值)
  5. beforeUpdate:更新之前
  6. updated:更新完毕
  7. beforeDestroy:销毁之前
  8. destroyed:销毁完毕(实例与视图的关系解绑,再修改的值,视图再也不会更新了)
  9. activated: 组件激活时调用
  10. deactivated: 组件停用时调用

注:

  • 和 是比较特殊的两个钩子,需要配合使用
  • 当引入 的时候,页面第一次进入,钩子的触发顺序 => => ,退出时触发 。当再次进入(前进或者后退)时,只触发。

在这里插入图片描述

举例代码:

 
   

:Vue 实例的挂载元素$el 和 数据对象data 并未初始化

这里写图片描述


这里我们在 chrome console里执行以下命令


这里我们在console里执行下命令对 vue实例进行销毁


比较特殊的一个钩子,需要配合使用

:动态组件初始化渲染过程中调用 keep-alive组件激活时调用。
:动态组件移出过程中调用 keep-alive组件停用时调用。



当引入 的时候,页面第一次进入,钩子的触发顺序 => => ,退出时触发 。当再次进入(前进或者后退)时,只触发。

keep-alive 之后页面模板第一次初始化解析变成HTML片段后,再次进入就不在重新解析而是读取内存中的数据,即,只有当数据变化时,才使用VirtualDOM进行diff更新。故,页面进入的数据获取应该在activated中也放一份。数据下载完毕手动操作DOM的部分也应该在activated中执行才会生效

所以,应该activated中留一份数据获取的代码,或者不要created部分,直接将created中的代码转移到activated中。



示意图:

这里写图片描述


父beforeCreate -> 父created -> 父beforeMount -> 子beforeCreate -> 子created -> 子beforeMount -> 子mounted -> 父mounted

父beforeUpdate -> 子beforeUpdate -> 子updated->父updated

父beforeDestroy -> 子beforeDestroy -> 子destroyed -> 父destroyed

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

版权声明


相关文章:

  • redhat enterprise 9(redhat enterprise 9.4 下载)2026-04-16 08:27:05
  • map字符串转json(map字符串转map对象)2026-04-16 08:27:05
  • js数组方法哪些会改变原数组(js数组方法哪些会改变原数组的大小)2026-04-16 08:27:05
  • autoit无法获取的控件(auto.js获取不到控件)2026-04-16 08:27:05
  • vue生命周期常用的四个钩子函数(vue中常用的生命周期钩子函数)2026-04-16 08:27:05
  • pcie5.0速度上限(pcie 5.0速度)2026-04-16 08:27:05
  • plsql7.15注册码(plsql的注册码)2026-04-16 08:27:05
  • Vue安装脚手架(vue 安装脚手架)2026-04-16 08:27:05
  • dist反编译 vue(dist反编译成vue)2026-04-16 08:27:05
  • vue 钩子函数(vue钩子函数是什么)2026-04-16 08:27:05
  • 全屏图片