小程序View点击响应传递多个参数

小程序开发中,view的点击事件是通过bindtap绑定的,比如:

复制代码
 <view class='pay-button' bindtap='gotoDetail' id='{{item.id}}'>查看详情</view>

在js文件中是这样获取参数id的:

复制代码
gotoDetail: function(e) {
    var id = e.currentTarget.id;
    wx.navigateTo({
      url: '../../home/room?id=' + id
    })
  }

如果要传递多个参数,就要用到data-xxx属性了,xxx的意思是这个名称可以随便取:

复制代码
 <view class='pay-button' bindtap='gotoDetail' id='{{item.id}}' data-roomid='{{item.roomId}}' data-price='{{item.price}}'>查看详情</view>

打印一下传递到js的数据,会看到一个json格式的数据:

复制代码
dataset: {
		price: 6,
		roomid: 166
	}
id: "1169"
offsetLeft: 275
offsetTop: 16
__proto__: Object

所以我们要获取点击的参数,可以这样写:

复制代码
gotoDetail: function(e) {
    var id = e.currentTarget.id;
	var roomId = e.currentTarget.dataset.roomid;
	var price = e.currentTarget.dataset.price;
    wx.navigateTo({
      url: '../../home/room?id=' + id
    })
  }

注意:传递过来的参数名都是小写的,即使你写成 data-roomId,传递过来的参数名也是 roomid。

相关推荐
Csvn1 小时前
框架性能优化
前端
回眸&啤酒鸭3 小时前
【回眸】OpenSwarm 多智能体协作系统实战指南
大数据·前端·人工智能
用户69371750013843 小时前
2026,程序员的时代拐点到了
android·前端·后端
大龄秃头程序员3 小时前
一次 iBeacon + BLE 无感解锁方案的实现记录
前端
小兔子3 小时前
Python 的 GIL 与 free-threading:3.13 之后「去 GIL」走到哪一步了
前端
IT_陈寒3 小时前
SpringBoot自动配置差点让我加班到凌晨
前端·人工智能·后端
guslegend4 小时前
脚手架原理与本地调试:从 bin 软链接到 npm link
前端·npm·node.js·脚手架·前端工程化
海码事务所5 小时前
Google Play 新个人开发者账号上架指南:12 人连续 14 天封闭测试怎么做?
前端
田威AI5 小时前
图片内文字翻译的规格:输入输出、保真、自动化、时间与费用
前端·计算机视觉
不可能片场5 小时前
命令行中文变问号 我用环境变量救了场
前端·electron