vuev-model循环绑定数据不同输入框,数据却同步了。为什么?相关代码vue测试无1个2个3个4个信息{{key+1}}{{child}}{{customerInfo.babyInfoJson}}letvue=newVue({el:'#app',data(){return{baby:{babyName:''},customerInfo:{babyCount:'',babyInfoJson:[],}}},methods:{setChildList(){letlength=parseInt(this.customerInfo.babyCount,10);if(length
2 回答
四季花海
TA贡献1811条经验 获得超5个赞
letbaby=this.baby;for(leti=0;ithis.customerInfo.babyInfoJson.push(baby); }问题在这段,对象是引用类型,你没有做隔离直接push会导致数组内的所有对象都指向同一个地址。letbaby=this.baby;for(leti=0;ithis.customerInfo.babyInfoJson.push({...baby}); }做个浅拷贝隔离对象引用即可
holdtom
TA贡献1805条经验 获得超10个赞
楼上说的对,baby是引用类型,应该每次push一个新的对象,参考我下面的代码methods:{initBady(){return{babyName:''}},setChildList(){letlength=parseInt(this.customerInfo.babyCount,10);if(length<=0){this.customerInfo.babyInfoJson=[];return;}this.customerInfo.babyInfoJson=[];for(leti=0;iletbaby=this.initBady(); this.customerInfo.babyInfoJson.push(baby);}},}
添加回答
举报
0/150
提交
取消