扫码关注官方订阅号
{{ count.id }} {{ item[0].id }}
在控制台里打印: vm.count.id--
会发现 items.id 也跟着改了。我明明只改 count.id
如何避免同步? 我只想更改 count.id;
浅拷贝和深拷贝的问题。
这还是JS数据类型的基础问题。从你提供的代码判断item是个数组, 把一个数组赋值给另外一个变量,只是赋值了引用, 两个都是引用了一个数组, 当然更改这个数组,所有引用这个数组的都会发生变化。
解决方案一:
this.count = this.item.slice(0, 1);
数组是索引结构,也就是说相当于两个指针指向同一个地方,所以说你改变其中一个,另一个也会跟着改变。至于如何避免,我推荐用ES6中的解构赋值,你可以参考一下文档。举个栗子:
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
浅拷贝和深拷贝的问题。
这还是JS数据类型的基础问题。
从你提供的代码判断item是个数组, 把一个数组赋值给另外一个变量,只是赋值了引用, 两个都是引用了一个数组, 当然更改这个数组,所有引用这个数组的都会发生变化。
解决方案一:
数组是索引结构,也就是说相当于两个指针指向同一个地方,所以说你改变其中一个,另一个也会跟着改变。至于如何避免,我推荐用ES6中的解构赋值,你可以参考一下文档。

举个栗子: