生命周期函数(函数中的this指向是vm或者组件实例对象) 按顺序执行且俩俩一对
初始化:生命周期,事件,但数据代理还未开始
beforeCreate:
此时:无法通过vm访问到data中的数据,methods中的方法
初始化:数据监测,数据代理
created:
此时可以通过vm访问到data中的数据,methods中的方法
此阶段vue开始解析模板,生成虚拟dom(内存中)!!!页面还不能显示解析好的内存
beforeMount:
此时
1页面呈现的是未经Vue编译的DOM结构
2所有对DOM的操作,最终都不能奏效
将内存中的虚拟DOM转为真实DOM
插入页面
mounted
vue完成模板解析并把初始的真实dom元素放入页面后(挂载(第一次把东西放入页面)完毕)调用mounted只调用一次
一般在此进行:开启定时器,发送网络请求,订阅消息,绑定自定义事件,等初始化操作
//更新流程
beforeUpdate
此时数据是新的,但是页面是旧的,即:页面尚未和数据保持同步
根据诗句生成新的虚拟DOM,随后与旧的虚拟DOM进行比较,最终完成页面更新,即:完成Model模型——>view视图的更新
updated
此时:数据是新的,页面也是新的,即:页面和数据保持一致
销毁流程
调用vm.$destroy()就运行销毁流程,完全销毁一个实例(但之前工作成果还在)解绑他的全部指令以及事件(自定义事件)监视器
beforeDestroy 不会触发更新
此时vm中所有的:data,methods,指令等等,都处于 可用状态,马上要执行销毁过程,一般在此阶段:关闭定时器,取消定时器解绑自定义事件等!!!!收尾操作
移除所有的监视组件移除所有监视器
destroyed