文章目录:
- 1、vue需要使用key来给每个节点做一个唯一标识,Diff算法就可以正确的识别此节点,更高效的更新虚拟DOM吗?
- 2、慕课网上没搜到vue源码,有没有课程透彻分析Vue 源码的?
- 3、diff算法是什么?
vue需要使用key来给每个节点做一个唯一标识,Diff算法就可以正确的识别此节点,更高效的更新虚拟DOM吗?
是的。页面的数据变化时,Diff算法会比较同层级节点。当有唯一标识的时候,虚拟DOM可以识别位置,更新相应节点;无唯一标识的时候,会更新同层级节点。数据量大的时候明显更快。
慕课网上没搜到vue源码,有没有课程透彻分析Vue 源码的?
有,你在实战里找是huangyi讲的,印象中是从 Vue 的跨平台编译入手,从 Vue 的几个核心能力开始分析Vue 源码。 Vue 的静态全局 API 与属性, Vue 的响应式原理,异步组件、组件化、diff 算法等等方面,都是进行了详细的分析,最后还附带了vuex和vuerouter。
diff算法是什么?
diff算法是虚拟DOM中采用的算法。
把树形结构按照层级分解,只比较同级元素。不同层级的节点只有创建和删除操作。给列表结构的每个单元添加唯一的key属性,方便比较。
相关信息:
React只会匹配相同class的component。合并操作,调用component 的 setState 方法的时候,React将其标记为dirty。
到每一个事件循环结束,React 检查所有标记 dirty 的 component 重新绘制。选择性子树渲染。开发人员可以重写 shouldComponentUpdate 提高 diff 的性能。
文章目录:1、vue需要使用key来给每个节点做一个唯一标识,Diff算法就可以正确的识别此节点,更高效的更新虚拟DOM吗?2、慕课网上没搜到vue源码,有没有课程透彻分析Vue 源码的?3、diff算法是什么?vue需要使用k