Vue的生命周期

Vue实例化对象后,执行如下流程:

Init初始化环节:

初始化:生命周期、事件,但数据代理还没有开始

beforeCreate函数:

无法通过vm访问到data中的数据、methods中的方法

Init初始化环节:

数据监测、数据代理

created函数:

可以通过vm访问到data中的数据、methods中的配置方法

执行完次阶段后,Vue开始解析模板,生成虚拟DOM,页面还不能显示解析好的内容

beforeMount函数:

1.页面呈现的是未经Vue编译的DOM结构

2.所有对DOM的操作都不会奏效

执行完此阶段后,Vue将内存中的虚拟DOM转换为真实DOM插入到页面中(此时Vue将数据拷贝一份放在vm.$el配置项中)

mounted函数:

1.页面呈现的是经过Vue编译的DOM结构

2.对DOM的操作均有效

beforeupdate函数:

数据是新的,页面还是旧的。(页面和数据尚未保持同步)

根据新数据,生成新的虚拟DOM,随后与旧的虚拟DOM进行比较,最终完成页面的更新,即完成model到view的更新

updated函数:

数据是新的,页面是新的。

常用的生命周期钩子函数:

1.mounted:发送ajax请求,启动定时器、绑定自定义事件等初始化操作。

2.beforeDestory:清除定时器、解绑自定义事件、取消订阅等操作。

利用vm.$destory()可销毁vm

posted @ 2022-03-03 16:37  猫狗双全的阿徐  阅读(49)  评论(0)    收藏  举报