vue.js学习笔记--生命周期函数

组件创建期间

new Vue() 表示开始创建一个Vue的实例对象

  |

Init Events & Lifecycle

表示刚初始化了一个空的Vue 的实例对象,这时候的这个对象身上,只有默认的一些生命周期函数和默认的事件,其他的东西都未创建

  |   这个时候就是beforeCreate() (这个时候data和methods都还没初始化)

Init injections & reactivity

  |   这个时候是created (这个时候data和methods都初始化了)

一堆创建初始化模板的操作(但还没挂载 mount),把Vue代码中的指令进行执行,最终在内存中生成一个编译好的最终模板,然后把这个模板字符串渲染为内存中的DOM,此时只是渲染好了模板,并没有把模板挂载到真正的页面当中去。

  |   这个时候是beforeMount() (这个时候页面中的元素还没有真正替换过来,只是之前写的一些模板字符,资源还是旧的

创建vm.$el并用其替换el

  |   这个时候是mounted (创建期间的最后一个生命周期函数)当执行完这个函数就意味着实例已经完全创建好了,此时如果没有其他的操作,这个实例就暂时没动作,最早开始操作DOM节点的地方

组件运行期间

data被修改了 --> beforeUpdate()此时界面中的数据还是旧的--> 虚拟DOM重新渲染并应用更新 --> update()

这里的两个事件会根据data 数据的改变有选择性的触发0次到多次

组件销毁阶段

beforeDestroy --> 解除绑定销毁子组件以及事件监听器 --> 销毁完毕 =destroy

beforeD的时候是从运行阶段到了销毁阶段,但methods,data...都还能用

destroy时所以方法数据都不能用了

 

猜你喜欢

转载自www.cnblogs.com/tomatofjy/p/11853711.html