• vue基础相关问题:vue指令和动态及计算机属性


    查看上篇文章vue基础知识: https://blog.csdn.net/m0_62181310/article/details/126568188?spm=1001.2014.3001.5501

    1.v-for更新监测

    1. 哪些数组方法会导致v-for更新页面
      • 可以改变原数组的方法
    2. 有的数组方法不导致v-for更新页面, 如何处理?
      • 拿返回的新数组, 直接替换旧数组
      • this.$set()方法更新某个值

    2.v-for如何更新DOM就地更新

    1. v-for更新时, 是如何操作DOM的?
      • 循环出新的虚拟DOM结构, 和旧的虚拟DOM结构对比, 尝试复用标签就地更新内容

    3.虚拟DOM

    vue用diff算法, 新虚拟dom, 和旧的虚拟dom比较

    1. 虚拟DOM是什么?
      • 本质就是一个JS对象, 保存DOM关键信息
    2. 虚拟DOM好处?
      • 提高DOM更新的性能, 不频繁操作真实DOM, 在内存中找到变化部分, 再更新真实DOM(打补丁)

    4.虚拟DOM比较_diff算法

    1. diff算法如何比较新旧虚拟DOM?
      • 同级比较
    2. 根元素变化?
      • 删除重新建立整个DOM树
    3. 根元素未变, 属性改变?
      • DOM复用, 只更新属性

    5.虚拟DOM-diff算法-key

    1. 子元素或者内容改变会分diff哪2种情况比较?
      • 无key, 就地更新
      • 有key, 按照key比较
    2. key值要求是?
      • 唯一不重复的字符串或者数值
    3. key应该怎么用?
      • 有id用id, 无id用索引
    4. key的好处?
      • 可以配合虚拟DOM提高更新的性能

    1-5题 总结

    1. v-for什么时候会更新页面呢?
      • 数组采用更新方法, 才导致v-for更新页面
    2. vue是如何提高更新性能的?
      • 采用虚拟DOM+diff算法提高更新性能
    3. 虚拟DOM是什么?
      本质是保存dom关键信息的JS对象
    4. diff算法如何比较新旧虚拟DOM?
    • 根元素改变 – 删除当前DOM树重新建
    • 根元素未变, 属性改变 – 更新属性
    • 根元素未变, 子元素/内容改变
      • 无key – 就地更新
      • 有key – 按key比较

    6.vue_计算属性-computed

    1. 计算属性使用场景?
      • 当变量的值, 需要通过别人计算而得来
    2. 计算属性特点?
      • 函数内使用的变量改变, 重新计算结果返回
    3. 计算属性注意事项?
      • 计算属性名和data里名字不能重复

    7.计算属性缓存

    1. 计算属性好处是?
      • 带缓存
      • 依赖项不变, 直接从缓存取
      • 依赖项改变, 函数自动执行并重新缓存
    2. 计算属性使用场景?
      • 当变量值, 依赖其他变量计算而得来才用

    8.vue_计算属性完整写法

    1. 何时用计算属性完整写法?
      • 给计算属性变量赋值时
    2. set函数和get函数什么执行?
      • set接收要赋予的值
      • get里要返回给这个计算属性具体值

    查看上篇文章vue基础知识: https://blog.csdn.net/m0_62181310/article/details/126568188?spm=1001.2014.3001.5501

  • 相关阅读:
    【上新】手工制作马赛克瓷砖,为 Gotchiverse 添色彩!
    sql笔记
    [BJDCTF2020]Cookie is so stable
    项目经理如何进行项目汇报才能让项目顺利进行,让领导一看就喜欢?
    Qt5开发及实例V2.0-第十五章-Qt单元测试框架
    素食者进行低碳饮食的最佳方法
    从零玩转人脸识别
    QT DAY4
    超越.NET极限:我打造的高精度数值计算库
    SpringBoot中xml映射文件
  • 原文地址:https://blog.csdn.net/m0_62181310/article/details/126568249