🌱 Vue 的生命周期是什么?(标准回答)
Vue 的生命周期是指从组件创建、渲染、更新到销毁的过程,Vue 在这些阶段为我们提供了内置的钩子函数,让我们可以在合适的时机执行相应的逻辑代码。
🔄 Vue 生命周期的主要阶段有哪些?
以 Vue 2 为例,主要分为四大阶段:
-
创建阶段(Creation)
beforeCreate
:组件实例刚被创建,此时数据 (data
) 和事件 (methods
) 都尚未初始化。created
:实例创建完成,data
数据已注入,methods
可用,但 DOM 还未生成。
-
挂载阶段(Mounting)
beforeMount
:模板已编译完成,即将挂载到页面上。mounted
:DOM 挂载完成,可以操作真实 DOM,常用于请求数据或使用第三方库。
-
更新阶段(Updating)
beforeUpdate
:响应式数据发生变化,DOM 更新前触发,适合对数据变化做处理。updated
:DOM 更新后触发,适合执行依赖 DOM 的逻辑。
-
销毁阶段(Unmounting)
beforeDestroy
:实例销毁前触发,此时可以进行清理操作(如清除定时器、解绑事件)。destroyed
:实例销毁后触发,所有绑定的事件监听器和子组件也会被销毁。
✅ Vue 3 生命周期钩子
Vue 3 的生命周期名称略有变化,推荐使用 setup()
中的组合式 API 钩子:
Vue 2 | Vue 3 (组合式 API) |
---|---|
beforeCreate | setup() |
created | setup() |
beforeMount | onBeforeMount() |
mounted | onMounted() |
beforeUpdate | onBeforeUpdate() |
updated | onUpdated() |
beforeDestroy | onBeforeUnmount() |
destroyed | onUnmounted() |
🎯 面试亮点建议(可加分说法)
- Vue 的生命周期钩子可用于数据初始化、接口请求、事件监听、DOM 操作、清理资源等。