VUE this.A = this.B 對象賦值,修改新對象A導致原對象B同步變化

問題

 this.A = this.B 

沒有進行深度拷貝,只是把this.A的地址指向了與this.B相同的地址,兩者共用同一內存,所以修改this.A導致this.B同步變化。

解決方法

##方法1

  this.A=JSON.parse(JSON.stringify(this.B));

將對象轉成字符串剔除對象屬性後,再轉換成對象賦值,這樣能解決指向相同地址修改會相互影響的問題。

##方法2

 this.A= Object.assign({},this.B);

將對象轉成字符串剔除對象屬性後,再轉換成對象賦值,這樣能解決指向相同地址修改會相互影響的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章