Vue3 大量赋值导致reactive响应丢失问题

问题阐述

       

        如上图所示,我定义了响应式对象arr=reactive({data:[]}),尝试将indexedDB两千条数据一口气赋值给arr.data。但事与愿违,页面上的{{}}在展示先前数组的三秒后变为空。

问题探究

vue3的响应应该与console.log有异曲同工之妙,如下图所示,我使用console.log打印reactive对象时,会访问即时数据,此时赋值操作并未结束,列表元素为空?!但当我们展开这个reactive对象会发现数组此时此刻有731个元素(无特殊意义)。

问题解决

        从其他文章得到灵感,我们可以把赋值操作搬进cursorGetData(db, storeName,target)这个函数里,通过数组对象内置的push函数添加元素,可以使reactive保持响应,并持续更新数据,直到游标走完。(内部target能修改外部arr.data应该是浅拷贝的缘故)

        推此及彼,axios.post也设置一下超时时间比较好。

相关推荐

  1. 关于直接赋值对象导致响应丢失

    2024-03-22 07:30:04       20 阅读
  2. 第16节:Vue3 响应式对象reactive()

    2024-03-22 07:30:04       39 阅读
  3. Vue3:ref和reactive实现响应式数据

    2024-03-22 07:30:04       24 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-22 07:30:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-22 07:30:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-22 07:30:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-22 07:30:04       20 阅读

热门阅读

  1. React核心⼊⻔-lesson1

    2024-03-22 07:30:04       17 阅读
  2. 2024.3.21 ARM

    2024-03-22 07:30:04       20 阅读
  3. C++ 函数指针与回调函数

    2024-03-22 07:30:04       24 阅读
  4. 全球化战略中的技术纵深

    2024-03-22 07:30:04       19 阅读
  5. android11 系统的启动流程 的面试题目

    2024-03-22 07:30:04       21 阅读
  6. Python 机器学习 前向后向算法评估观察序列概率

    2024-03-22 07:30:04       21 阅读