1,生成render 函数,生成vnode ,将虚拟节点patch(vnode)到绑定元素上。
2,什么是虚拟done?
虚拟DOM也就是我们常说的虚拟节点,他是通过JS的Object对象模拟DOM中的节点,然后在通过特定的render方法将其渲染成真实的DOM节点。
为什么要使用虚拟节点?
频繁的DOM操作会导致大量页面元素的重绘和回流,处于性能优化的考虑我们应该减少重绘和回流的操作。而对虚拟节点的DOM操作,并不会触发重绘和回流,把处理后的虚拟节点映射到真是DOM上,只需要进行一次重绘和回流,提高了性能。
重绘:不会影响其他元素的布局,这种操作叫做页面的重绘。列如:background="red"这种代码。
回流:会影响其他元素的布局,这种操作叫做页面的回流。列如:重新设置一个元素的宽,高的这种代码。
注:(回流必将引起重绘,而重绘不一定会引起回流。)
3,DIFF算法
DIFF算法是DOM更新的一种算法,指页面被更新时,程序用那种策略去做更新DOM。