【Vue】vue 数据赋值给新变量后,原数据也随新变量对数据的变化而变化解决方案

本文探讨了在Vue中如何避免新变量修改影响原始数据,通过实例说明了使用`JSON.parse(JSON.stringify())`进行数据深拷贝的重要性。了解如何保护源数据,避免意外修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vue 数据赋值给新变量后,原数据也随新变量对数据的变化而变化

错误:

let list = this.list1

错误写法将污染源数据,将改变list1的数据

正确:

let list = JSON.parse(JSON.stringify(this.list1));

备注:

**JSON.stringify()**方法用于将 JavaScript 值转换为 JSON 字符串。

JSON.parse() 方法将数据转换为 JavaScript 对象。

JS 对象(Object)和字符串(String)互转方法

🌰:

利用原生JSON对象,将对象转为字符串

var jsObj = {};
jsObj.testArray = [1,2,3,4,5];
jsObj.name = 'CSS3';
jsObj.date = '8 May, 2011';
var str = JSON.stringify(jsObj);
alert(str);

从JSON字符串转为对象

var jsObj = {};
jsObj.testArray = [1,2,3,4,5];
jsObj.name = 'CSS3';
jsObj.date = '8 May, 2011';
var str = JSON.stringify(jsObj);
var str1 = JSON.parse(str);
alert(str1);
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值