vue2和 vue3生命周期区别(optionsAPI 和 composition API区别)

首先,我们回顾一下 vue2中生命周期的使用

父组件:
在这里插入图片描述
子组件:
beforeUnmount = beforeDestory
unmounted = destoryed
在这里插入图片描述
直接打印结果
在这里插入图片描述
现在我们再来测试一下 compositionApi 的使用

vue3可以 vue2通用,所以我们在 vue2文件中测试 vue3生命周期
在这里插入图片描述
在这里插入图片描述
打印结果
在这里插入图片描述

vue3中的生命周期:

  1. setup() :开始创建组件之前,在beforeCreate和created之前执行。创建的是data和method
  2. onBeforeMount() : 组件挂载到节点上之前执行的函数。
  3. onMounted() : 组件挂载完成后执行的函数。
  4. onBeforeUpdate(): 组件更新之前执行的函数。
  5. onUpdated(): 组件更新完成之后执行的函数。
  6. onBeforeUnmount(): 组件卸载之前执行的函数。
  7. onUnmounted(): 组件卸载完成后执行的函数。

还有以下三个不常用的:

  1. onActivated(): 被包含在中的组件,会多出两个生命周期钩子函数。被激活时执行。
  2. onDeactivated(): 比如从 A 组件,切换到 B 组件,A 组件消失时执行。
  3. onErrorCaptured(): 当捕获一个来自子孙组件的异常时激活钩子函数(以后用到再讲,不好展现)。

vu3和 vue2生命周期的对比

Vue2vue3
beforeCreatesetup()
createdsetup()
beforeMountonBeforeMount
mountedonMounted
beforeUpdateonBeforeUpdate
updatedonUpdate d
beforeDestroy / unmountonMount
destroyed / unmountedonUnmounted
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue2和Vue3的生命周期有以下区别: 1. 移除的生命周期钩子函数:Vue3移除了一些生命周期钩子函数,包括activated、deactivated、beforeMount和errorCaptured。这些钩子函数在Vue2中用于处理组件的激活和停用、挂载前和错误捕获等情况。 2. 新增的生命周期钩子函数:Vue3引入了一些新的生命周期钩子函数,包括beforeUnmount和unmounted。beforeUnmount在组件卸载之前调用,unmounted在组件卸载之后调用。 3. 生命周期的合并:Vue3对生命周期的合并进行了优化。在Vue2中,父组件和子组件的生命周期钩子函数执行顺序是先父后子,而在Vue3中,父组件和子组件的生命周期钩子函数会同时触发,不再有先后顺序的区分。 4. 生命周期的重命名:Vue3对一些生命周期钩子函数进行了重命名。例如,beforeCreate被重命名为beforeSetup,created被重命名为setup。 5. Composition API的引入:Vue3引入了Composition API,它提供了一种新的组织组件逻辑的方式。在Composition API中,可以使用onBeforeMount、onMounted、onBeforeUnmount等函数来替代Vue2中的生命周期钩子函数。 下面是一个示例代码,演示了Vue2和Vue3的生命周期钩子函数的区别: ```javascript // Vue2 export default { beforeCreate() { console.log('Vue2 - beforeCreate') }, created() { console.log('Vue2 - created') }, beforeMount() { console.log('Vue2 - beforeMount') }, mounted() { console.log('Vue2 - mounted') }, beforeUpdate() { console.log('Vue2 - beforeUpdate') }, updated() { console.log('Vue2 - updated') }, beforeDestroy() { console.log('Vue2 - beforeDestroy') }, destroyed() { console.log('Vue2 - destroyed') } } // Vue3 import { onBeforeMount, onMounted, onBeforeUnmount } from 'vue' export default { setup() { onBeforeMount(() => { console.log('Vue3 - beforeMount') }) onMounted(() => { console.log('Vue3 - mounted') }) onBeforeUnmount(() => { console.log('Vue3 - beforeUnmount') }) return {} } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值