vue的生命周期
每个 Vue 组件实例在创建时都需要经历一系列的初始化步骤,比如设置好数据侦听,编译模板,挂载实例到 DOM,以及在数据改变时更新 DOM。在此过程中,它也会运行被称为生命周期钩子的函数,让开发者有机会在特定阶段运行自己的代码。
Vue生命周期优化补充
| 生命周期 | 描述 |
|---|---|
setup | Composition API入口,在beforeCreate之前执行,用于初始化响应式数据和方法 |
beforeCreate | 实例初始化之后,数据观测和事件配置之前调用 |
created | 实例创建完成后立即调用,已完成数据观测、属性和方法的运算 |
beforeMount | 挂载开始之前被调用,相关的render函数首次被调用 |
mounted | 实例被挂载后调用,此时el被新创建的vm.$el替换 |
beforeUpdate | 数据更新时调用,发生在虚拟DOM打补丁之前 |
updated | 数据更改导致的虚拟DOM重新渲染和打补丁之后调用 |
beforeUnmount | 卸载组件实例之前调用,此时实例仍然完全可用 |
unmounted | 卸载组件实例后调用,所有的事件监听器已被移除 |
常用生命周期钩子
created: 适合进行数据初始化、异步请求mounted: 适合操作DOM、启动定时器beforeUnmount: 适合清理工作,如取消定时器、解绑事件
注意事项
- 不要在
updated钩子中修改数据,避免无限循环 beforeUnmount中手动添加的监听器需要在此阶段清理
