小程序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。

相关推荐
T - mars1 小时前
python爬虫:小程序逆向实战教程
小程序
安分小尧3 小时前
React 文件上传新玩法:Aliyun OSS 加持的智能上传组件
前端·react.js·前端框架
编程社区管理员3 小时前
React安装使用教程
前端·react.js·前端框架
拉不动的猪4 小时前
vue自定义指令的几个注意点
前端·javascript·vue.js
yanyu-yaya4 小时前
react redux的学习,单个reducer
前端·javascript·react.js
skywalk81634 小时前
OpenRouter开源的AI大模型路由工具,统一API调用
服务器·前端·人工智能·openrouter
Liudef064 小时前
deepseek v3-0324 Markdown 编辑器 HTML
前端·编辑器·html·deepseek
拉不动的猪4 小时前
uniapp与React Native/vue 的简单对比
前端·vue.js·面试
z_mazin5 小时前
Chrome开发者工具实战:调试三剑客
前端·javascript·chrome·网络爬虫
sen_shan6 小时前
Vue3+Vite+TypeScript+Element Plus开发-04.静态菜单设计
前端·javascript·typescript·vue3·element·element plus·vue 动态菜单