vue模板解析

模板解析过程,初次模板解析,使用的是初始化定义的的数据,这些数据为响应式,当监听到这些数据发生改变时,重新模板解析,生成虚拟dom树,diff比较,重新挂载页面

vue生明周期钩子,在mouted()执行,页面被挂载到屏幕时,最开始使用的是 vue组件定义的初始化数据渲染模板,展示渲染好的模板,当mounted()中发送了请求网络数据时,数据发生改变,页面再重新解析渲染

 

更详细说明。

beforeCreate(){} 钩子之前: 处理事件、声明周期、数据代理还未开始,

beforeCreate(){} 钩子中:this指向对应实例对象, 但此时还不能通过this拿到data中的数据,methods中的方法。

beforeCreate(){}钩子之后,created(){} 钩子之前: 进行数据检测、数据代理

created(){} 钩子中: 此时可以通过vm拿到data中的数据,methods中的方法。this指向vm实例。

created钩子之后、beforeMounted之前: 此阶段Vue开始解析模板(使用该阶段前定义好的数据进行第一次解析渲染),生成虚拟dom(内存中),页面还不能显示解析好的内容。

beforeMounted(){}钩子中: 该阶段,页面呈现的是未经Vue编译的Dom结构,所有对Dom的操作都不奏效。

beforeMounted(){}钩子后,mounted(){}钩子之前:此阶段将内存中的虚拟DOM转为真实DOM插入页面。

mounted(){}中: 此时页面中呈现的是经Vue编译的DOM,对DOM的操作有效(尽可能避免)。至此初始化过程结束,一般在此开启定时器、发送网络请求、订阅效益、绑定自定义事件、等初始化操作。

beforeUpdate(){}中: 此时数据是新的,但页面是旧的,即:页面尚未和数据保持一致。

beforeUpdate(){}之后,updated(){}之前: 此阶段,根据新数据,生成新的虚拟DOM,随后与旧的虚拟DOM进行比较,最终完成页面更新,即:完成了Model->View的更新。

undated(){}中: 此时数据是新的、页面也是新的,即:页面和数据保持同步。

beforeDestory(){}中:此时,vm中所有的:data、methods、指定等,都处于可用状态,马上执行销毁过程,一般在此阶段:关闭定时器、取消订阅消息、解绑自定义事件等收尾操作。在此阶段,更新date数据,页面不会再更新了。

destroyed(){}中:组件被销毁。

 

posted @ 2021-11-19 21:20  亦茫茫  阅读(526)  评论(0编辑  收藏  举报