VUE踩坑----赋值后原对象的值发生改变


//vue定义变量
data() {
return {
     //初始表格数组对象 tableData:[],
     //被赋值对象 cancelData:[] } }

问题原因是:

赋值时没有创建一个新的对象内存地址;

只是把cancelData的内存地址指向了tableData的内存地址,一旦tableData值发生改变,但内存地址不会发生改变,所以cancelData的值也会相对应改变

错误赋值使用

//tableData如果发生改变,cancelData也会发生改变
//因为指向的是tableData的内存地址

this
.cancelData[0]=this.tableData[0];

正确使用

//创建一个新的对象,指向新的内存地址

this
.cancelData[0]=JSON.parse(JSON.stringify(this.tableData[0]))

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM