时间:2019-05-08 来源:小程序工厂
我知道你们说的参数绑定的方式,但都不是我要的...我要的很简单,dom元素设置一个属性,我可以获取和设置这个属性值.
data:{
flag: false
}
data-open="{{flag}}"
通过setData改变
我有n条记录,每条记录下面有子记录,所以这n条记录,都有一个折叠子记录的功能,如果用参数绑定却判断折叠状态,就要绑定很多个,非常麻烦.
一样的方法,如果是数组,那你就获取到下标,同样通过setData修改。
data: {
list: [{flag:false},{flag:false},{flag:false}]
}
click(event){
let {index} = event.currentTarget.dataset;
let {list} = this.data;
list[index].flag = true;
this.setData({list})
}
setData这里修改有多种方法,大概的意思就是这样。
data-open="{{open}}"
this.setData({open:true})
话说,这样拐弯抹角的,为啥不直接用 this.data里的值呢
你用e.currentTarget.dataset.open,是获取的值,你是没办法逆向去改变它的值的,但是你可以在在data里定义一个属性,比如flag
,然后你在标签上 data-open="{{flag}}", 这样你改变flag,再次获取open的值就是改变的了。