vue.js的生命周期

本文详细比较了Vue.js2和3的生命周期钩子,包括beforeCreate、created、beforeMount等,强调它们在实例化过程中的作用,以及在数据初始化、挂载、更新和销毁阶段的自定义逻辑应用。
摘要由CSDN通过智能技术生成

Vue.js 中的生命周期钩子是在实例化过程中会自动调用的函数,它们允许你在特定阶段执行自定义逻辑。在 Vue.js 2 和 Vue.js 3 中,生命周期钩子有一些差异,但整体结构是相似的。以下是 Vue.js 2 和 Vue.js 3 中常见的生命周期钩子:

Vue.js 2 生命周期钩子:

  1. beforeCreate: 在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。

  2. created: 实例创建完成后被调用。在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。

  3. beforeMount: 在挂载开始之前被调用:相关的 render 函数首次被调用。

  4. mounted: el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。

  5. beforeUpdate: 数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。

  6. updated: 由于数据更改导致的虚拟 DOM 重新渲染和打补丁后调用。

  7. beforeDestroy: 实例销毁之前调用。在这一步,实例仍然完全可用。

  8. destroyed: 实例销毁后调用。该钩子被调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。

Vue.js 3 生命周期钩子:

  1. beforeCreate: 在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。

  2. created: 实例创建完成后被调用。在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。

  3. beforeMount: 在挂载开始之前被调用:相关的 render 函数首次被调用。

  4. onBeforeMount (Vue 3.2+): 在挂载开始之前被调用,等效于 Vue.js 2.x 中的 beforeMount。

  5. mounted: onMounted 在挂载之后被调用,等效于 Vue.js 2.x 中的 mounted。

  6. beforeUpdate: 数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。

  7. onBeforeUpdate (Vue 3.2+): 数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前,等效于 Vue.js 2.x 中的 beforeUpdate。

  8. updated: 由于数据更改导致的虚拟 DOM 重新渲染和打补丁后调用。

  9. onUpdated (Vue 3.2+): 由于数据更改导致的虚拟 DOM 重新渲染和打补丁后调用,等效于 Vue.js 2.x 中的 updated。

  10. beforeUnmount: 在卸载开始之前被调用。

  11. onBeforeUnmount (Vue 3.2+): 在卸载开始之前被调用,等效于 Vue.js 2.x 中的 beforeDestroy。

  12. unmounted: onUnmounted 在卸载之后被调用,等效于 Vue.js 2.x 中的 destroyed。

这些生命周期钩子可以帮助开发者在不同阶段注入自定义逻辑,用于处理数据的初始化、销毁、更新等场景。

  • 45
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值