Vue3 重置&覆盖 reactive 数组数据的方法

核心要点:
  • 通过splice删除原数组内的所有数据,并添加新的数据进去。
  • 潜在影响:大数据量下,splice重置数组和 ref 的.value重新赋值重置数组,哪个耗时短还需自行测试。

通过 `splice` 传入0 和 Infinity 来删除原数组从头到尾的内容,然后`...[]`将新数据丢进响应式数组里。

html 复制代码
<template>
  <button @click="c2()">测试按钮</button>
</template>

<script setup lang="ts">
import { reactive, watch } from 'vue'
const arr1 = reactive([1,2,3,4])
watch(arr1,(val)=>{
  console.log(...val);
})
function c2() {
  arr1.push(arr1.length+1)
}

setTimeout(() => {
  arr1.splice(0,Infinity,...[11,22,33,44])
}, 6000);

</script>
相关推荐
JavaGuide2 分钟前
利用元旦假期,我开源了一个大模型智能面试平台+知识库!
前端·后端
yuanyxh33 分钟前
程序设计
前端·设计
坚持就完事了1 小时前
JavaScript
开发语言·javascript·ecmascript
eason_fan1 小时前
前端性能优化利器:LitePage 轻量级全页设计解析
前端·性能优化·前端工程化
pe7er1 小时前
如何阅读英文文档
java·前端·后端
先做个垃圾出来………2 小时前
Python位运算及操作
java·前端·python
daqinzl3 小时前
JavaScript连接WebSocket
javascript·websocket
梦帮科技3 小时前
第三十四篇:开源社区运营:GitHub Stars增长策略
开发语言·前端·爬虫·python·docker·架构·html
POLITE33 小时前
Leetcode 19. 删除链表的倒数第 N 个结点 JavaScript (Day 11)
javascript·leetcode·链表
time_rg3 小时前
react fiber与事件循环
前端·react.js