Vue3 的生命周期钩子

admin9个月前 (06-04)it知识592

Vue3 的生命周期钩子函数是组件从创建到销毁过程中各个阶段的关键节点,以下是主要特点和使用方式:

一、核心生命周期钩子(Composition API)

setup()

替代了 Vue2 的 beforeCreate 和 created 钩子

是组合式 API 的入口点,在此初始化响应式数据

挂载阶段

onBeforeMount:DOM 挂载前触发,此时模板已编译但未渲染

onMounted:组件挂载完成后调用,可访问 DOM 元素

更新阶段

onBeforeUpdate:数据变化后,DOM 更新前执行

onUpdated:DOM 更新完成后触发

卸载阶段

onBeforeUnmount:组件卸载前调用(原 Vue2 的 beforeDestroy)

onUnmounted:组件卸载后执行清理操作

二、父子组件执行顺序

挂载阶段:

父 setup → 父 onBeforeMount → 子 setup → 子 onBeforeMount → 子 onMounted → 父 onMounted

更新阶段:

父 onBeforeUpdate → 子 onBeforeUpdate → 子 onUpdated → 父 onUpdated

卸载阶段:

父 onBeforeUnmount → 子 onBeforeUnmount → 子 onUnmounted → 父 onUnmounted

三、注意事项

在 setup() 中使用生命周期需要显式导入

服务端渲染时 beforeMount/mounted 等钩子不会执行

避免在 updated 钩子中修改状态,可能导致无限循环

四、与 Vue2 的主要区别

钩子名称变化:destroyed → unmounted

新增调试钩子:onRenderTracked/onRenderTriggered

组合式 API 提供了更灵活的生命周期管理方式


标签: 分享IT知识

相关文章

敏捷开发

敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可...

格林童话-王子与公主的故事

 在远古时代,魔法是一个普遍存在的事物,有很多人都被人施过魔法。  在希望还有用处的时代,一位王子被一位老巫婆施了法,困在森林中的一个大铁炉里。许多年过去了,没有人能救出他。  一天,一位公主来到了大...

利用网站挣钱的方式

利用网站挣钱的方式多种多样,以下是一些常见且有效的策略:一、广告收入广告展示:通过在网站上放置广告,利用广告点击率或展示次数获得收益。这可以通过与广告平台(如Google AdSense)合作或直接与...

南山经

南山经之首曰鹊山。其首曰招瑶之山,临于西海之上。多桂多金玉。有草焉,其状如韭而青华,其名曰祝馀,食之不饥。有木焉,其状如榖而黑理,其华四照。其名曰迷榖,佩之不迷。有兽焉,其状如禺而白耳,伏行人走,其名...

《山海经》中的又一重要篇章---西山经

《西山经》是中国古代神话典籍《山海经》中的又一重要篇章,主要描述了西方地区的诸多山系及其中的奇珍异兽、草木矿物等。以下是对《西山经》的简要翻译概述(同样地,由于《山海经》的内容包含大量神话元素和夸张描...

山海经·大荒东经

东海之外大壑,少昊之国。少昊孺帝颛顼于此,弃其琴瑟。有甘山者,甘水出焉,生甘渊。大荒东南隅有,名皮母地丘。东海之外,大荒之中,有山名曰大言,日月所出。有波谷山者,有大人之国。有大人之市,名曰大人之堂。...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。