查看上篇文章vue基础知识: https://blog.csdn.net/m0_62181310/article/details/126568188?spm=1001.2014.3001.5501
- 哪些数组方法会导致v-for更新页面
- 可以改变原数组的方法
- 有的数组方法不导致v-for更新页面, 如何处理?
- 拿返回的新数组, 直接替换旧数组
- this.$set()方法更新某个值
- v-for更新时, 是如何操作DOM的?
- 循环出新的虚拟DOM结构, 和旧的虚拟DOM结构对比, 尝试复用标签就地更新内容
vue用diff算法, 新虚拟dom, 和旧的虚拟dom比较
- 虚拟DOM是什么?
- 本质就是一个JS对象, 保存DOM关键信息
- 虚拟DOM好处?
- 提高DOM更新的性能, 不频繁操作真实DOM, 在内存中找到变化部分, 再更新真实DOM(打补丁)
- diff算法如何比较新旧虚拟DOM?
- 同级比较
- 根元素变化?
- 删除重新建立整个DOM树
- 根元素未变, 属性改变?
- DOM复用, 只更新属性
- 子元素或者内容改变会分diff哪2种情况比较?
- 无key, 就地更新
- 有key, 按照key比较
- key值要求是?
- 唯一不重复的字符串或者数值
- key应该怎么用?
- 有id用id, 无id用索引
- key的好处?
- 可以配合虚拟DOM提高更新的性能
- v-for什么时候会更新页面呢?
- 数组采用更新方法, 才导致v-for更新页面
- vue是如何提高更新性能的?
- 采用虚拟DOM+diff算法提高更新性能
- 虚拟DOM是什么?
本质是保存dom关键信息的JS对象- diff算法如何比较新旧虚拟DOM?
- 根元素改变 – 删除当前DOM树重新建
- 根元素未变, 属性改变 – 更新属性
- 根元素未变, 子元素/内容改变
- 无key – 就地更新
- 有key – 按key比较
- 计算属性使用场景?
- 当变量的值, 需要通过别人计算而得来
- 计算属性特点?
- 函数内使用的变量改变, 重新计算结果返回
- 计算属性注意事项?
- 计算属性名和data里名字不能重复
- 计算属性好处是?
- 带缓存
- 依赖项不变, 直接从缓存取
- 依赖项改变, 函数自动执行并重新缓存
- 计算属性使用场景?
- 当变量值, 依赖其他变量计算而得来才用
- 何时用计算属性完整写法?
- 给计算属性变量赋值时
- set函数和get函数什么执行?
- set接收要赋予的值
- get里要返回给这个计算属性具体值
查看上篇文章vue基础知识: https://blog.csdn.net/m0_62181310/article/details/126568188?spm=1001.2014.3001.5501