生命周期函数
生命周期
- 首先创建一个新的Vue实例
- 表示,初始化了一个Vue空实例对象,这时候,这个对象身上只有默认的一些生命周期函数和默认的事件,其他的东西都未创建在beforeCreate生命周期函数执行的时候,data和method中的数据还没有初始化。
- 在create中,data和methods都已经被初始化好了,如果调用methods中的方法或者操作data中的数据,最早只能在created中操作。
- 在beforeMount之前模板编译,把Vue中的指令进行执行,在内存中生成一个编译好的最终模板字符串,渲染为内存中的DOM,此时只是在内存中,并没有把模板挂载到页面中
- 在beforeMount,模板已经在内存中编译完成了,但是尚未吧模板渲染到页面中。在执行beforeMount执行的时候页面中的元素还没有替换,只是页面中的模板。
- mounted之前,将内存中的模板真实的替换到页面模板中,mounted执行时,页面已经被执行好了,是实例创建完成。如果没有其他操作,此实例完成不变。
- 当model中的data改变的时候执行beforeUpdate和updated,这两个数据会触发0次或者多次。beforeUpdate执行的时候数据被更新了
- 在updated之前,先根据data中最新的数据在内存中重新渲染一份放到内存中,,更新的内存DOM会重新渲染到真是的页面中,这事就完成了页面的更新。
- updated执行时页面数据与内存数据已经保持同步
- 当执行beforeDestroy钩子函数的时候,Vue实例已经从运行阶段进入到销毁阶段,但是实例上的data、methods、过滤器、指令等都处于可用状态,此时还没有真正执行销毁过程。
- destroy所有东西都被销毁