virtual-dom的概念大规模的推广还是得益于react出现,virtual-dom也是react这个框架的非常重要的特性之一。Vue在2.0版本也引入了vdom。其vdom算法是基于在Vue的整个应用生命周期当中,每次需要更新视图的时候便会使用vdom。接下来就通过这篇文章简单的向大家介绍下Vue当中的vdom是如何去工作的。sameVnode会对传入的2个vnode进行基本属性的比较,只有当基本属性相同的情况下才认为这个2个vnode只是局部发生了更新,然后才会对这2个vnode进行diff,如果2个vnode的基本属性存在不一致的情况,那么就会直接跳过diff的过程,进而依据vnode新建一个真实的dom,同时删除老的dom节点。vnode基本属性的定义可以参见源码:src/vdom/vnode.js里面对于vnode的定义。每一个vnode都映射到一个真实的dom节点上。

Vue实现virtual-dom的原理简析

Vue实现virtual-dom的原理简析

Vue实现virtual-dom的原理简析

Vue实现virtual-dom的原理简析

Vue实现virtual-dom的原理简析

Vue实现virtual-dom的原理简析

Vue实现virtual-dom的原理简析

Vue实现virtual-dom的原理简析

Vue实现virtual-dom的原理简析

Vue实现virtual-dom的原理简析

Vue实现virtual-dom的原理简析

Vue实现virtual-dom的原理简析

Vue实现virtual-dom的原理简析

Vue实现virtual-dom的原理简析

Vue实现virtual-dom的原理简析

Vue实现virtual-dom的原理简析

Vue实现virtual-dom的原理简析