Vue虚拟DOM(VDOM)和diff算法
2019-04-20 16:16
344 查看
1. 虚拟DOM 是什么?
虚拟DOM是利用 了js的对象的Object的对象模型来模拟真实DOM, 那么它的结构是一个树形结构
经过多次的VDOM操作之后,通过render函数进行渲染,通过diff算法, 将所有的vdom对比一遍, 找出不同的地方, 然后进行render函数渲染
2. diff算法
diff算法是用来比较两个或是多个文件, 返回值是文件的不同点
diff算法是同级比较的
diff思维也是来自后端
diff算法的比较思维
比较后会出现四种情况:
1、此节点是否被移除 -> 添加新的节点
2、属性是否被改变 -> 旧属性改为新属性
3、文本内容被改变-> 旧内容改为新内容
4、节点要被整个替换 -> 结构完全不相同 移除整个替换
3. 整个VDOM的使用流程(Vue)
- 创建VDOM树
- 利用render函数渲染页面
- 数据改变,生成新的vDOM
- 通过diff算法比较 新 旧 两个VDOM , 将不同的地方进行修改, 相同的地方就地复用 , 最后在通过render函数渲染页面
相关文章推荐
- Vue.js虚拟dom和diff算法
- 虚拟Dom和diff算法
- react中的虚拟Dom与diff算法
- DOM和虚拟DOM、Diff算法
- vuejs中虚拟DOM及diff算法
- 【转】虚拟DOM 与 Diff算法解析
- 虚拟DOM 和 Diff 算法,key的作用,jsx,render函数
- 虚拟DOM 和 Diff 算法,key的作用,jsx,render函数
- 虚拟DOM和diff算法
- vue 虚拟字段,DOM及时更新,双向绑定等问题
- Vue 虚拟DOM
- vue diff 算法
- React学习(9)—— 高阶应用:虚拟Dom差异比对算法
- vue 虚拟dom的patch源码分析
- vue.js在虚拟dom重载完成后调用代码或者初始化插件
- vue diff 算法学习
- vue的diff算法知识点总结
- Vue.js 2.0新增的虚拟DOM是怎么回事?
- vue2.0的虚拟DOM渲染
- 详解vue的diff算法原理