总结:虚拟DOM和生命周期

在之前的文章中讲过很多相关Vnode和虚拟DOM的内容,以及生命周期,简单地来进行总结一下。

温故而知新,可以为师矣。

一.什么是虚拟DOM?

简单地来说是一个JS对象,用来描述文本中DOM的一些信息。当页面中的数据发生更新的时候会使用到虚拟DOM,我们暂且叫它是Vnode,当页面渲染的时候也会产生一份Vnode,我们暂且叫他oldVnode。页面中的数据更新的时候,新旧两份Vnode会进行对比。通过Diff算法生成一份新的虚拟DOM然后在渲染到页面上去。很大一部分上节省了性能,这也是Vue的优点,能够操作Js对象来达到页面的更新,脱离了直接操作DOM,大大提升了性能,以及开发的成本。

二.什么是真实DOM?

页面中我们能够清晰的去看见,获取。

三.Vue组件渲染的流程和生命周期

Vue的渲染流程:

模板(template)------->编译----------->AST------------->vnode-------------->真实的DOM

生命周期的流程:

四个阶段:

初始化----------------->挂载--------------------->更新--------------------------->销毁

在以前的文章也分析过:在beforeMount模板已经编译完成,这样是最后一次更改数据的机会,此时

有挂载,也不能获取到真实的DOM,此时也不能获取到真实DOM,到了Mount阶段,编译完成也能够获取道真实DOM,这也对应着Vue的渲染流程。没

更新:

当页面中的数据发生了更新,刚开始的真实的DOM对应着一份虚拟的Vnode,更新之后产生的一Vnode,两个Vnode通过Diff算法,生成一份新的虚拟Dom达到最理想的渲染,此时获取的DOM还是以前没更新之前的。

如果想要获取到最新的可以使用this.$nextTick(()=>{})这个api,来获取到更新之后的最新DOM。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值