Zebra_
Zebra_
  • 发布:2021-06-29 17:01
  • 更新:2021-06-30 23:49
  • 阅读:629

我用一个变量接收vuex上的数据,然后改变变量中的值,然后打印的时候发现vuex中的数据也一起被修改了,这是怎么回事?

分类:uni-app

我用一个变量接收vuex上的数据,然后改变变量中的值,然后打印的时候发现vuex中的数据也一起被修改了,这是怎么回事?

let currentDataList = this.$store.state.currentDataList;  
// console.log(this.$store.state.currentDataList);  
// console.log(currentDataList);  
let { is_public:resourcesLibType, type:clientType, sex } = currentDataList;  
this.resourcesLibType = resourcesLibType;  
this.clientType = clientType;  
currentDataList.sex = sex == 1 ? "男":"女";  
this.dataForm = currentDataList;  
// this.dataForm.sex = sex == 1 ? "男":"女";  
console.log(currentDataList);  
console.log(this.$store.state.currentDataList);

打断点调试的图

2021-06-29 17:01 负责人:无 分享
已邀请:
Howee

Howee

建议学习下js基础知识中的变量赋值。随便给个链接:https://zhuanlan.zhihu.com/p/75674838

小菜啊

小菜啊 - 业精于勤荒于嬉

对象存储的引用地址,也就是说你没用通过深克隆的方式去赋值的haul,实际上改的还是vuex的对象

Zebra_

Zebra_ (作者)

想起来了,原来是这个原因

该问题目前已经被锁定, 无法添加新回复