初始化页面的时候
new Vue() 开始创建一个vue的实例对象。
1、beforeCreate 刚刚初始化了一个vue空的实例对象,这时候,对象上,只有默认的一些生命周期函数和默认事件,data和methods中的数据还没有被初始化。
2、created data和methods都已经被初始化好了,如果调用methods中的方法和操作data中的数据最早只能在created中
3、beforeMount 这一步的时候,模版已经在内存中编译好了,但是尚未挂载到页面中去,此时,页面还是旧的。
4、mounted 这一步 将内存中编译好的模版,替换到浏览器的页面中去,如果需要操作页面上的DOM元素最早需要再mounted中进行。
5、beforeUpdated 这一步 页面中显示的数据还是旧的,但是data中的数据是最新的,页面尚未更新。这里会先根据data中最新的数据,在内存中,重新渲染出一份 最新的虚拟DOM树,当虚拟DOM树跟新后,会把最新的虚拟DOM渲染到页面中去。完成从model-》view的更新。
6、updated 这一步 页面和打他数据已经保持同步了,都是最新的。
组件的生命周期函数只有beforeUpdated和updated。
7、beforeDestroy 这一步 vue实例已经从运行阶段进入到销毁阶段,但是此时data和所有的methods,以及过滤器,指令还处于可用状态,没有真正的销毁。
8、destroyed 此时 组件已经完全被销毁,此时data和methods,过滤器,指令都已经不可用了。
最后附上流程图