随笔分类 - Vue源码解析5(diff算法及优化)
Vue源码解析5 (diff算法)
摘要:好家伙,这是diff的最后一节了 0.暴力比对的使用场景 没有可复用的节点:当新旧虚拟 DOM 的结构完全不同,或者某个节点不能被复用时,需要通过暴力比对来创建新的节点,并在真实 DOM 上进行相应的插入操作。 0.1.例子一: // 创建vnode let vm1 = new Vue({ data
阅读全文
摘要:好家伙, 本节来解决我们上一章留下来的问题, 新旧节点同时有儿子的情况本章继续解决 1.要做什么? 本章将解决, 1.在相同tag下子元素的替换问题 2.使用双指针进行元素替换, 实现效果如下: let vm1 = new Vue({data:{name:'张三'}}) let render1 =
阅读全文
摘要:好家伙, 本篇将会解释要以下效果的实现 1.目标 我们要实现以下元素替换的效果 gif: 以上例子的代码: //创建vnode let vm1 = new Vue({data:{name:'张三'}}) let render1 = compileToFunction(`<a>{{name}}</a>
阅读全文

浙公网安备 33010602011771号