在事件处理函数中为date中的数据赋值
调用this.setData(dateObject)方法,可以给页面date中的数据重新赋值
举例:
首先先在vxml中先搞出来一个新按钮
<button type="primary" bindtap="CountChange">+1</button>
其次在date中新建一个count,并初始赋值(在.js文件里)
count:0,
然后再date的后面写相关的功能
CountChange(){
//console.log('ok'),//测试是否可以(按钮是否可行)
this.setData({
count: this.data.count + 1//this访问到page中的某项
})
},
总结:
- 首先我们在this.setData中赋新值
- 需要给谁赋值就把谁放进去
- 通过this.date找到旧值
事件传参
小程序中的事件传递比较特殊,不能在绑定事件的同时为事件处理函数传递参数。
比如这个就无法正常工作:
<button type="primary" bindtap='bthHandler(123)'>事件传参</button>
因为小程序会把bindtap的属性值,统一当作事件名称来处理,相当于要调用一个名称为bthHandler(123) 的事件处理函数
可以为组件提供==date-*==自定义属性传参,其中 星号代表的是参数的名字,示例代码:
<button bindtap="bthHandler" date-info="{{2}}">事件传参</button>
最终:
- info会被解析称为参数的名字
- 数值2会被解析成参数的值
在事件处理函数中,通过event.target.dataset.参数名即可获取到具体参数的值,示例代码如下:
count: this.data.count+e.target.dataset.info