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>
相关推荐
啥都不懂的小小白13 小时前
Vue第四篇:组件通信 + DOM 更新 + 过渡动画
vue.js·全局事件通信
向下的大树13 小时前
VUE父子组件传参中的触发时机问题:异步场景下的解决方案
前端·javascript·vue.js
英俊潇洒美少年13 小时前
vue2中使用节流防抖函数时,使用的vue状态始终是初始化的数据
前端·javascript·vue.js
棒棒的唐13 小时前
适合小程序使用的将对象数组转换为参数字符串方法
前端·javascript·小程序
刘一说13 小时前
Vue3响应式原理重构:从Object.defineProperty到Proxy的革命性升级
javascript·vue.js·重构
博客zhu虎康13 小时前
音频视频处理:前端直播流播放 flv
前端
一位搞嵌入式的 genius13 小时前
深入理解 JavaScript 原型与继承:从基础到进阶
开发语言·前端·javascript
董世昌4114 小时前
深度解析var、let、const的区别与最佳使用场景
开发语言·前端·javascript
C_心欲无痕14 小时前
Next.js 平行路由:构建模块化动态布局
开发语言·前端·javascript
warrah14 小时前
前端项目容器化部署问题
前端·docker