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