mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
554 字
2 分钟
Vue3-组件生命周期
2026-04-08
无标签

一、组件基础#

1. 组件是什么?#

一个 .vue 文件就是一个组件,可复用、可嵌套。

✅ 官方完全一致:

  • 组件 = 独立的 UI 模块
  • 可复用、可嵌套、有独立生命周期
  • 整个应用就是一棵组件树

2. 组件怎么用(script setup)#

文章示例:

<!-- 父组件 App.vue -->
<template>
<HelloWorldVue></HelloWorldVue>
</template>
<script setup>
import HelloWorldVue from './components/HelloWorld.vue'
</script>

官方规范:

  • <script setup>import 后可直接用,不用注册
  • 组件名不能和 HTML 内置标签重名(div、p、button 等)

二、Vue3 生命周期#

一句话官方定义#

生命周期 = 组件从 创建 → 挂载 → 更新 → 销毁 的全过程。


三、文章最重要一句话(必背)#

Vue3 组合式 API(script setup)没有 beforeCreate 和 created!

为什么?#

官方解释:

  • setup 执行时机 就在 beforeCreate 和 created 之间
  • 你在 setup 里写的代码本身就等于 created
  • 所以这两个钩子不需要了

四、Vue3 组合式 API 生命周期全讲解#

1. onBeforeMount#

挂载前

  • DOM 还没渲染到页面
  • 拿不到 DOM 元素
  • 即将渲染

2. onMounted#

挂载完成

  • DOM 已经渲染完毕
  • 可以获取、操作 DOM
  • 可以发请求、初始化定时器、绑定事件

官方:请求放这最稳

3. onBeforeUpdate#

更新前

  • 数据变了
  • 视图还没重新渲染
  • 虚拟DOM 还没更新

4. onUpdated#

更新完成

  • 数据变了
  • 视图已经更新完毕
  • 可以获取最新 DOM

5. onBeforeUnmount#

卸载前

  • 组件即将销毁
  • 实例还在
  • 适合:清除定时器、取消事件监听、取消请求

6. onUnmounted#

卸载完成

  • 组件销毁
  • 指令解绑、事件监听全部移除

五、官方对照表(文章里的表,完全正确)#

选项式 API组合式 API(script setup)
beforeCreate不需要
created不需要
beforeMountonBeforeMount
mountedonMounted
beforeUpdateonBeforeUpdate
updatedonUpdated
beforeUnmountonBeforeUnmount
unmountedonUnmounted

六、其他生命周期(官方补充)#

这些是进阶钩子,日常很少用:

  • onErrorCaptured:捕获组件错误
  • onRenderTracked:调试用,追踪依赖
  • onRenderTriggered:调试用,看谁触发更新
  • onActivated:keep-alive 组件激活
  • onDeactivated:keep-alive 组件停用

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Vue3-组件生命周期
https://www.choria.top/posts/vue3-lifetime/
作者
乔瑞雅·克林威尔
发布于
2026-04-08
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录