根据vue官方给出的结构图
vue总共有8个生命周期:
- beforeCreate:组件实例化在创建之前,属性绑定之前,只是一个空壳,无法访问到数据和真实的dom和data。
- created:组件实例创建完成,属性绑定完成,但是dom未绑定。可以获取到初始数据,可以使用数据,也可以更改数据,但是不会触发updated函数。
- beforeMount:模块编译,事件挂载之前,变异模块将虚拟dom放在render函数中准备渲染,可以更改数据,但不会触发updated函数。
- mounted:模块开始编译,事件也挂载好了,组件,数据,真实的dom都渲染执行。
- beforeUpdate:组件更新之前,vue的虚拟dom机制会重新构建虚拟dom与上一次的虚拟dom树利用diff算法进行对比之后重新渲染。
- updated:组件更新后,数据已经更改完成,dom也重新render完成。
- beforeDestory:组件销毁之前,做一些善后工作,例如清除计时器、清除非指令绑定的事件等等。
- destoryed:组件