- beforeCreate:初始化数据、方法、事件等,还没挂载到DOM。
- created:挂载到DOM,但DOM还未生成。
- beforeMount:虚拟DOM挂载到DOM节点,但DOM节点还未渲染。
- mounted:虚拟DOM已渲染到真实DOM,DOM可用。
- beforeUpdate:数据变化,准备重新渲染。
- updated:数据更新,视图已更新。
大白话:创建前、创建后、挂载前、挂载后、更新前、更新后。
上周,2023年,我那个朋友问了我一个问题:Vue3的生命周期有哪六个阶段?
1. 创建阶段:
- setup():组件初始化时调用,用于设置数据、计算属性和侦听器。
- beforeCreate:在实例初始化之后、数据观测和事件配置之前被调用。
2. 挂载阶段: - created:在实例创建完成后被立即调用。在这一步,实例已完成数据观测、属性和方法的运算、watch/event事件回调。
- beforeMount:在挂载开始之前被调用:相关的 render 函数首次被调用。
3. 更新阶段: - mounted:el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。
- beforeUpdate:数据更新时调用,发生在虚拟DOM打补丁之前。
4. 卸载阶段: - updated:由于数据更改导致的虚拟DOM重新渲染和打补丁,在这之后会调用这个钩子。
- beforeUnmount:在卸载实例之前调用。
5. 激活阶段: - activated:keep-alive 组件激活时调用。
6. 销毁阶段: - deactivated:keep-alive 组件停用时调用。
每个人情况不同,但大体就是这样。一言以蔽之,Vue3的生命周期比Vue2更简洁,但功能更强大。本质上,Vue3的生命周期更注重逻辑的清晰和功能的扩展。你看着办,了解这些对你使用Vue3肯定有帮助。