vue2.x使用了virtual DOM,它是一个轻量级的js对象,在状态发生变化会进行diff运算,更新需要被替换的dom,而不是全部重绘。
//用virtual dom创建js对象 var vNoe={ tag:'div', attributes:{ id:'main' }, children:[ //p节点 ] }
在vue2.x中,vdom就是通过一种VNode类来表达的,每个dom元素或组件都对应一个VNode对象。使用vdom就可以完全发挥js的编程能力,多数场景使用template就足够了,但在一些特定的场景下,使用vdom会更简单。
如果使用webpack做编译,template都会被预编译成render函数。