vue記錄:把對象中的數據賦給某個變量,改變一個對象的值,另一個對象也變化

 data(){
  return{
      tmp1:{
          t:1
      },
      tmp2:{
          t:''
      }
  }  
},

將tmp1的內容賦值給tmp2,改變tmp2裏對象的值,發現tmp1裏的值也跟着變化了。
爲什麼會出現這種情況呢?
其實,這是一個引用傳遞而不是值傳遞,tmp1和tmp2指向的是同一個內存地址。

如果我們不想讓temp1的值跟着聯動變化,應該怎麼做呢?直接看代碼

this.temp2= JSON.parse(JSON.stringify(this.temp1));
this.temp2.t = 'ssss';
console.log( this.temp1.t);//打印結果:1
console.log( this.temp2.t);//打印結果:ssss
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章