1.什么是虚拟DOM
虚拟DOM
是一个对象
,一个什么样的对象呢?一个用来表示真实DOM的对象
2. 虚拟DOM 和真是DOM 对比
虚拟dom -> 改变数据后 -> 通过diff运算->渲染
真是dom -> 改变数据后 -> 渲染
总结: 虚拟dom比真是dom 渲染快的原因 ,虚拟DOM算法操作真实DOM,性能高于直接操作真实DOM
3.Diff算法的原理
a.新旧虚拟DOM对比的时候,Diff算法比较只会在同层级进行, 不会跨层级比较。 所以Diff算法是:深度优先算法
b.
当数据改变时,会触发setter
,并且通过Dep.notify
去通知所有订阅者Watcher
,订阅者们就会调用patch方法