watch帶來(lái)的問(wèn)題

 watch: {
    defaultData: {
      handler(val) {
        if (val) {
          console.log("======引用數(shù)據(jù)會(huì)再次觸發(fā)watch變化======", val);
          this.description = val.description;
          this.parameterList = val.parameterList;
          this.barCode = val.barCode;
        }
      },
      deep: true,
      immediate: true,
    },
  },

背景:客戶反饋,操作description之后,在把鼠標(biāo)移動(dòng)到parameterList,description里的值會(huì)變成原先數(shù)據(jù)
結(jié)果:是因?yàn)閜arameterList是引用類(lèi)型,parameterList發(fā)生改變,會(huì)重新觸發(fā)defaultData,然后導(dǎo)致description會(huì)被重新賦予初始值,所以客戶看到好像description值會(huì)變成原先數(shù)據(jù)
注意:以后避免watch里含有對(duì)引用類(lèi)型數(shù)據(jù)的變更,最好都是原始類(lèi)型

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容