由于需要從服務端請求對象數(shù)組,數(shù)據(jù)格式類似[{name:'xiaoming'},{name:'xiaohong'}],然后在本地進行修改,并上傳修改的部分。我的思路如下:data中有兩個數(shù)組變量:list和listChange,分別表示從服務端請求來的數(shù)據(jù),和用戶修改的數(shù)據(jù);listChange通過克隆list得到;input輸入框中v-model對應listChange中每個對象(如{name:'xiaoming'})的name屬性代碼大致如下(部分是偽代碼)由于一開始自己clone對象數(shù)組是采用如下代碼的方式,即this.listChange[i]=this.list[i];this.listChange.push(this.list[i]);結果導致在input輸入框中更改數(shù)據(jù)時,導致list和listChange的數(shù)據(jù)同時更改后來采取了如上代碼中的clone函數(shù),但是問題來了(抱歉有這么長的鋪墊),如果采用push方法,在input輸入框中更改數(shù)據(jù)時能夠同步刷新。let newObj=this.clone(this.list[i]);this.listChange.push(newObj);但是為什么使用this.listChange[i]=newObj無法在input中的v-model實現(xiàn)同步更新。如果是this.listChange[i]=newObj無法實現(xiàn)同步更新,那為什么this.listChange[i]=this.list[i];this.listChange.push(this.list[i])又可以同步更新
Vue中v-model無法動態(tài)更新對象數(shù)組數(shù)據(jù)
阿波羅的戰(zhàn)車
2019-01-30 05:35:43