本文主要是介绍Vue diff算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
# Diff算法
`Diff`算法的核心就是**针对具有相同父节点的同层新旧子节点进行比较,而不是使用逐层搜索递归遍历的方式。时间复杂度为`O(n)`**。
如何理解?
说白点,就是**当新旧`VNode`树在同一层具有相同的`VNode`节点时,才会继续对其子节点进行比较**。一旦旧`VNode`树同层中的节点在新`VNode`树中不存在或者是多余的,都会在新的真实`DOM`中进行添加或者删除。
下面就拿一副图进行解释。
从上面的示例图可以看到,`Diff`算法中只会对同一层的元素进行比较,并且必须拥有相同节点元素,才会对其子节点进行比较,其他多余的同层节点都会一律做删除或添加操作。
这篇关于Vue diff算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!