vue3中使ref变量失去响应式-(深拷贝)

1.使用JSON.parse(JSON.stringify(val))深拷贝
优点:简单地数据类型可以使用
缺点:不可以复制特殊类型 如:new Date(),undefined,函数,正则等

const test = reactive({
  a: 123
})
const test1 = JSON.parse(JSON.stringify(test))
test.a = 456
test1.a = 789
console.log(test)//{a:456}
console.log(test1)//{a: 789}

2. 使用Lodash第三方工具库:可以复制特殊类型数据(推荐)https://www.lodashjs.com/docs/lodash.cloneDeep#_clonedeepvalue


安装

pnpm i --save lodash

引用

import {cloneDeep} from 'lodash'
const test = reactive<any>({
  a: new Date()
})

const test1 = cloneDeep(test)
console.log(test)//{a:Tue May 28 2024 23:38:41 GMT+0800 (中国标准时间)}
console.log(test1)//{a: Tue May 28 2024 23:38:41 GMT+0800 (中国标准时间)}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值