VUE中变量赋值后,出现值联动问题

问题:

在vue项目中,往往我们会如下使用:

let a = 3;

let b = null;

b =a;

 我的目的其实仅仅是将a拷贝到b,但是当我对b或者a的值变动了后,会直接影响对方的值跟着变换,这不是我要的效果。

原因:

其实对应java里的对象拷贝的深拷贝和浅拷贝的概念,也就是说,上面的写法,仅仅是一种对象的先拷贝,说的直白点,a和b这个时候都指向同一个地方,那么无论改变哪个,其实本质都是改变同一个地方的值,那么作为引用,值当然也就变了。

处理办法:

1、ES6

let goods = {...}
let curGoods = Object.assign({},goods);

2、JSON转换

let goods = {...}
let curGoods = JSON.parse(JSON.stringify(goods));

 

参考自:https://www.cnblogs.com/adelina-blog/p/8336548.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值