对虚拟dom的简单理解
-
DOM是什么?
DOM是document object model的缩写,文档对象模型。是浏览器在解析html代码时,把每个标签抽象出来的对象。
根据层级关系,html代码最后会被浏览器解析成一颗DOM树。
-
虚拟dom
是使用js模拟了DOM树形结构,和浏览器没有任何联系。因此操作虚拟dom的速度要明显高于DOM。
-
diff算法
对树进行分层比较,两颗树进行对比时只会对同一层级的节点进行比较。
vue在数据发生变化后,会获取到数据变化前的对应虚拟dom和变化后的虚拟dom,然后对新旧虚拟dom进行diff,最后通知dom完成dom的更新工作。