现有需求是这样的需要创建一个表格,里面有月份和金额;因为每一条的字段都一样,在data里写12条一模一样的数据,感觉太冗余了,我就想写一个循环,循环10遍之后添加到data里进行渲染。但是问题出现了:在data写12条数据你渲染时,只要在相应的地方加上数据的下标就可以,每条数据互不影响(不会产生双向绑定的效果);但是当你循环玩之后添加到data里,在dom渲染时,尽管写上下标还是会触发双向绑定效果,为什么?怎么解决各位小哥哥小姐姐~~//data(){return{monthTableData:{paymentType:"",paymentMonth:'',},}}copyData(){letlist=[];for(vari=0;i
2 回答
月关宝盒
TA贡献1772条经验 获得超5个赞
对象是引用类型。list.push(this.monthTableData)不管你push多少个this.monthTableData,数组list里面的元素都是同一个对象,改变任意一个自然都改变了,可以用先深拷贝一次。或者:list.push({paymentType:"",paymentMonth:'',})
汪汪一只猫
TA贡献1898条经验 获得超8个赞
不太清楚你说的双向绑定是哪里,是指绑定了data中的monthTableData?,那就把它放到copyData中就可以不要在data属性中放了,如下copyData(){let=monthTableData:{paymentType:"",paymentMonth:'',},letlist=[];for(vari=0;i<=5;i++){for(letkinmonthTableData){list.push(monthTableData);}}this.monthTableDataNew=list;},
添加回答
举报
0/150
提交
取消