上节课利用snabbdom的h和patch函数修改DOM:
还有没截取的patch(vnode,newVnode)
第一个patch把定义的vnode赋值到container上面,填充页面,如下图:
第二个patch把newVnode和Vnode比较,进行diff,然后重新填充页面
1.使用snabbdom重做jQuery之前demo
2.diff算法
什么是diff算法
vdom为何用diff算法
diff算法的实现流程
vdom为何用diff算法
Diff算法-实现
主要介绍两个方法:
1.patch(container,vnode)
2.patch(vnode,newVnode)
1.pacth(container,vnode)
重点是:vnode如何生成一个DOM元素
看下面代码实现vnode生成DOM元素(伪代码):
上面代码就是通过vnode生成一个DOM元素,获取属性和子节点,然后对子节点进行遍历,然后返回生成的元素。
2.patch(vnode,newVnode)
3.总结
diff实现我们主要关注pathc(container,vnode)和patch(vnode,newVnode)两个函数。
第一个patch函数主要函数是createElement,第二个patch函数主要函数是updateChildren。
这章主要内容
vdom是是什么?为何会存在vdom?
vdom如何应用,核心API是什么?
介绍一下diff算法