Vue的生命周期大致有四个阶段:
从创建–挂载–渲染–销毁,这创建到销毁一系列的过程就叫做生命周期。
Vue的生命周期大致有八个阶段:
beforeCreate:
实例创建前,这时候Vue实例还没有挂载,数据对象data也是undefined,所以数据还没有加载,页面也没有显示。
这个时候就可以使用Loading动画组件来弥补这个空缺。
Created:
实例创建完成,这个时候Vue的实例对象data就有了,我们可以操作数据的属性和methods里面的方法了。最早的axios数据请求就在这个里面进行的。
beforeMount:
实例载入前,这个时候Vue实例初始化完成,但是页面还没有显示。
mounted:
实例载入后,元素挂载完成,获取到DOM,页面数据加载完成。
beforeUpdate:
实例更新前,这时候页面显示的数据还是之前的,而data里面的数据是新的,页面数据还没有更新同步。
updated:
实例更新后,这个时候数据完成同步,页面更新。
beforeDestory:
实例销毁前,这个时候组件的数据对象data和那些方法指令都是可以正常使用的。
destoryed:
实例销毁完成,这个时候组件已经销毁,里面的数据和方法都不可使用。
第一次加载页面的时候触发了四个钩子:
beforeCreate,Created,beforeMount,Mounted
DOM渲染在Mounted钩子中已经完成。