小程序绑定点击事件及传参。简单易懂白话文帮你搞明白原理!
简单记录一下微信小程序绑定点击事件的方法以及传参,这里要说明一下,用过vue的都知道方法是写在methods里面的,但是小程序有点区别,page里面声明方法直接写在page里面,和onLoad同级别,没有methods,详细看代码片段2 ,但如果你用的是component的话,方法声明就需要写在methods里面了,详细看代码片段3;在WXML文件页面这样写:bindtap就是绑定点击事件,和we
·
简单记录一下微信小程序绑定点击事件的方法以及传参,这里要说明一下,用过vue的都知道方法是写在methods里面的,但是小程序有点区别,page里面声明方法直接写在page里面,和onLoad同级别,没有methods,详细看代码片段2 ,但如果你用的是component的话,方法声明就需要写在methods里面了,详细看代码片段3;
在WXML文件页面这样写:bindtap就是绑定点击事件,和web端的click同一个意思,后面的clickItem就是你注册的点击事件方法,这里的参数传递和web端有区别,web端传递参数是这样clickItem(‘我是传递的参数’);小程序这样写:data-item=“我是传递的参数”,data-xxx,后面的xxx你可以自定义;
<view
bindtap="clickItem"
data-item="我是传递的参数" >
</view>
在js文件里面这样写,然后来说怎么注册这个方法,并且取到我们传递的参数:data你传递过来的参数就在这里面,可以理解为web端传递的形参接收的,打印一下试试看,data.currentTarget.dataset.item打印出来就是我们传递的参数,你可以打开json按层级查找看看;
代码片段2
Page({
onShow() {
//我是页面显示时候触发的方法
},
clickItem(data) {
//我是用户点击时触发的方法
console.log(data);
console.log(data.currentTarget.dataset.item); //我是传递的参数
},
})
代码片段3
Component({
methods: {
clickItem(data) {
//我是用户点击时触发的方法
console.log(data);
console.log(data.currentTarget.dataset.item); //我是传递的参数
},
}
})
更多推荐
已为社区贡献13条内容
所有评论(0)