一:概念
虚拟dom(VNode) 虚拟:假的,不真实的dom
二:真是dom和虚拟dom的区别
真实dom
虚拟dom
区别:
真实dom是一个对象,它的属性非常多,在浏览器中做dom操作相对来说,会比较消耗性能
虚拟dom是一个对象,它的属性相比于真是dom就比较少 – 用少量的属性来描述一个dom,他无法在浏览器中直接显示
三:为什么在vue中会用到虚拟dom
有两点好处:
1.虚拟dom比真是dom体积小,操作时相对来说消耗性能少。如果在页面要删除一个dom,会不会引起页面重绘? 会,它很可能会影响后边元素的布局。
2:虚拟dom才可能跨端(在服务端也可以使用vue技术),跨平台。如果直接操作真实dom,则与浏览器强制绑定在一起,vue就失去更多的可能。
四:vue实如何使用虚拟dom的
五:响应式与render函数
数据变了,视图(真是dom)就会跟着变
数据变化会自动调用一次render()函数,会产生一个新的虚拟dom,把这个新的虚拟dom与初始化比较,这样就可以知道是那些地方发生了改变,再这个变动同步跟新到真实dom