Vue实例生命周期钩子函数与React非常相似,最明显的区别在于,它多了一个实例创建阶段。
Vue实例和Vue组件有着同样的生命周期函数。
参考官网图:
下面介绍Vue生命周期的每个阶段都做了些什么?
- beforeCreate: 创建了Vue组件实例,但是组件属性还未初始化。比如,data, elt等为undefined。
- created: 初始化数据对象和事件,例如:可以访问属性this.$data。这时最适合做ajax请求,初始化需要渲染的数据。
- beforeMount: 进行模板编译,但是,模板内容还未插入页面DOM中。
- mouted: 将生成好的的模板挂载在DOM树上,并且,组件属性this.$el被赋值。
- beforeUpdate: 组件更新之前
- updated: 组件更新之后
- beforeDestory: 组件销毁之前,这时,已经调用this.$destory()。
- destoryed: 组件销毁完毕。这时,组件上的watcher,子组件和事件监听都会被销毁。