vue如何清空数组
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,小编给大家分享一下vue如何清空数组,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 前言前两天在工作当中遇到一个问题,
千家信息网最后更新 2025年02月06日vue如何清空数组1. 前言
2. 清空数据的几种方式
2.1 使用ref()
2.2 使用slice
2.3 length赋值为0
2.4 使用splice
小编给大家分享一下vue如何清空数组,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1. 前言
前两天在工作当中遇到一个问题,在vue3中使用reactive生成的响应式数组如何清空,当然我一般清空都是这么写:
let array = [1,2,3]; array = [];
不过这么用在reactive代理的方式中还是有点问题,比如这样:
let array = reactive([1,2,3]); watch(()=>[...array],()=>{ console.log(array); },) array = reactive([]);
很显然,因为丢失了对原来响应式对象的引用,这样就直接失去了监听。
2. 清空数据的几种方式
当然,作为一名十年代码经验常年摸鱼的我,立马就给出了几个解决方案。
2.1 使用ref()
使用ref,这是最简便的方法:
const array = ref([1,2,3]); watch(array,()=>{ console.log(array.value); },) array.value = [];
2.2 使用slice
slice顾名思义,就是对数组进行切片,然后返回一个新数组,感觉和go语言的切片有点类似。当然用过react的小伙伴应该经常用slice,清空一个数组只需要这样写:
const array = ref([1,2,3]); watch(array,()=>{ console.log(array.value); },) array.value = array.value.slice(0,0);
不过需要注意要使用ref。
2.3 length赋值为0
个人比较喜欢这种,直接将length赋值为0:
const array = ref([1,2,3]); watch(array,()=>{ console.log(array.value); },{ deep:true }) array.value.length = 0;
而且,这种只会触发一次,但是需要注意watch要开启deep:
不过,这种方式,使用reactive会更加方便,也不用开启deep:
const array = reactive([1,2,3]); watch(()=>[...array],()=>{ console.log(array); }) array.length = 0;
2.4 使用splice
副作用函数splice也是一种方案,这种情况同时也可以使用reactive:
const array = reactive([1,2,3]); watch(()=>[...array],()=>{ console.log(array); },) array.splice(0,array.length)
不过要注意,watch会触发多次:
当然也可以使用ref,但是注意这种情况下,需要开启deep:
const array = ref([1,2,3]); watch(array,()=>{ console.log(array.value); },{ deep:true }) array.value.splice(0,array.value.length)
但是可以看到ref也和reactive一样,会触发多次。
以上是"vue如何清空数组"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
数组
方式
篇文章
内容
情况
方案
问题
简便
顾名思义
不怎么
不用
个人
函数
前言
副作用
同时
大部分
对象
小伙
小伙伴
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
办公设备单价数据库
互助盘拆分软件开发
服务器显卡安装
高校网络安全培训讨论心得体会
网络安全保护分为多少级
分布式服务器系统
百度如何清理数据库
中搜网络技术待遇
深圳最大软件开发公司
软件开发招聘面试内容
ps5账号无法登陆服务器
网络安全硕士留学菲律宾
河北工业软件开发哪家正规
安庆服务器机箱外壳
服务器安全模式杀毒
厦门大学嘉庚网络技术
互联网科技行业峰会
一年级网络安全ppt课件
珠海考试软件开发收费
学生网络安全教育作文
itunes导出数据库
网络技术的课堂使用学习心得
京港澳哪个服务器测核酸
江夏专业的软件开发企业
泰州进口网络技术
网络安全防护需要开启吗
数据库登录设计
jpa 生成数据库模型
汉王打卡机能恢复数据库
英特尔服务器固态硬盘吗