Vue2和Vue3的生命周期

本文详细比较了Vue2和Vue3的生命周期钩子,包括beforeCreate、created、beforeMount等,并强调了Vue3中beforeUnmount和setup新特性以及组件初始化阶段的变化。
摘要由CSDN通过智能技术生成

一、Vue2的生命周期

(1)beforeCreate:无法通过vm访问到data中的数据,methods中的方法

(2)created:可以通过vm访问到data中的数据,methods中的方法

(3)beforeMount:页面呈现的是未经Vue编译的DOM结构;所有对DOM的操作,最终都不奏效。

(4)Mounted:页面呈现的是经过Vue编译的DOM;对DOM的操作均有效(尽可能避免)。至此初始化过程结束,在此经常进行一些初始化操作,一般有:开启定时器,发送网络请求、订阅消息、绑定自定义事件等

(5)beforeUpdate:此时,数据是新的,但是页面是旧的,即:页面尚未和数据保持同步。

(6)updated:此时,数据是新的,页面也是新的,即:页面和数据保持同步。

(7)beforeDestroy:此时,vm中所有可用的:data、methods、指令等等,都处于可用状态,马上要执行销毁过程,一般在此阶段:关闭定时器、取消订阅消息、解绑自定义事件等收尾操作

(8)destroyed:页面销毁

二、Vue3的生命周期

(1)setup:组件实例初始化之前执行,用来设置初始数据、计算属性、方法等。

2)beforeCreate:组件实例初始化之后,数据观测和事件配置之前执行。

(3)created:组件实例创建完成后执行,此时可以访问到 `data`、`methods` 等属性。

(4)beforeMount:组件挂载到页面之前执行

(5)mounted:组件挂载到页面后执行,此时可以访问到页面中的 DOM 元素。

(6)beforeUpdate:组件更新之前执行。

7)updated:组件更新之后执行。

8)beforeUnmount:组件卸载之前执行。

9)unmounted:组件卸载之后执行。

三、两者生命周期的区别

(1)Vue3中取消了 `beforeDestroy` 和 `destroyed` 这两个生命周期钩子,取而代之的是 `beforeUnmount` 和 `unmounted`。

(2)Vue3 中新增了 beforeUnmount 生命周期钩子,用来在组件卸载之前执行一些操作。与之对应的是,Vue2 中只有 beforeDestroy 生命周期钩子。

(3)组件的初始化分为创建阶段和设置阶段,beforeCreate 钩子函数在创建阶段被调用,而 created 钩子函数在设置阶段被调用。在Vue3中,这两个钩子函数被合并成了一个 setup 钩子函数,在组件创建阶段执行。

(4)在 Vue3 中,所有的生命周期钩子函数都可以作为组件选项直接被导出,而不需要手动声明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值