1、微信小程序事件
微信小程序事件通过bind或catch绑定,bind事件会向父元素冒泡,能被父元素捕获,catch会阻止事件向父元素冒泡。微信小程序的事件不能像原生JavaScript和三大框架那样,在事件后接小括号,里面动态传参。它只会默认传一个event对象。
2、微信小程序的动态传参与获取参数
通过bind或者catch绑定一个事件后,可以在绑定事件的元素上,使用data-动态参数名="要传的值",在对应事件里,使用e.target.dataset.动态参数名或者e.currentTarget.dataset.动态参数名可以获取到动态传参的值。
<!-- 循环 -->
<view wx:for="{{isChecked}}" wx:key="index">
<!-- 先绑定click函数,通过自定义的属性data-id传参给click函数 -->
<view class="vf {{item==true?'':'vf-active'}}" bindtap="click" data-id="{{index}}">{{index+1}}</view>
</view>
click: function (e) {
console.log(e.target.dataset.id);
var id = e.target.dataset.id
var str = "isChecked[" + id + "]"//重点在这里,组合出一个字符串
this.setData({
[str]: false//用中括号把str括起来即可
})
}