data: {a:[4],b:[1,2,3,], },
ps:function(e){
var c=this.data.a
c.push(e.currentTarget.dataset.shuzi)
this.setData({
a:c
})
},
视图层显示的
想点击1标红,再点2,2也标红,我的思路是:弄一个空数组(data中的a)点击那个数字,将点击的数字添加到空数组中,再在视图层遍历两个数组,两个数组中的数字相等就标红,可是为什么点击后会多循环一次(第一次循环是123,点击后是123123,再点就是123123123)?实在想不懂
其实把数组改成这样的话,就简单很多
a:[{
value:1,
isChecked:false
},
value:2,
isChecked:false
]
点击的时候,就把那个的isChecked改成true,就好了
你这最外层循环的a,你点击b的时候push到a数组中了,a数组增加所以多循环一次
因为你写的是双循环……