欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vue踩坑记:把对象中的数据同时赋给了两个变量,改变一个对象的值,另一个对象也变化了

程序员文章站 2024-01-28 11:29:58
...

场景: 请求到数据后,将数据data.a同时赋给了c和b,这时改变c的时候b的值也会跟着变。

为什么会出现这种情况呢?其实,这是一个引用传递而不是值传递,c和b指向的是同一个内存地址

如果想实现改变了c而不改变b的话,我们要怎么操作呢?

可以给b赋值的时候,将a转换成字符串,然后在转换成对象,代码如下:

b = JSON.parse(JSON.stringify(data.a))