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