小程序事件传参

button绑定事件:

<button size="default" type="primary" plain="true" bindtap="send" data-id="{{id}}" data-read-id="{{readId}}">事假传参</button>

传递参数:

send(e) {
    console.log(e);
    console.log(e.currentTarget.dataset.id);
    console.log(e.currentTarget.dataset.readId);
    var id = e.currentTarget.dataset.id;
    var readId = e.currentTarget.dataset.readId;
    wx.navigateTo({
        url: '../index/index-item/index-item?readId=' + readId + '&id=' + id
    })
},

接受参数:

<view>{{readId}}</view>

js:

onLoad: function(options) {
    console.log(options);//通过options获取所有传过来的所有参数
    var readId = options.readId;
    this.setData({
        readId: readId
    })
},

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小程序事件和页面都是非常常见的场景,具体实现方式如下: ### 事件小程序中,可以通过 `data-*` 属性将数据递给事件处理函数。在 WXML 中,通过 `bind:eventName` 或 `catch:eventName` 绑定事件处理函数,例如: ```html <view bind:tap="handleTap" data-id="123">点击我</view> ``` 在事件处理函数中,可以通过 `event.currentTarget.dataset` 获取 `data-*` 属性值,例如: ```javascript Page({ handleTap(event) { const id = event.currentTarget.dataset.id console.log('id:', id) // 输出:id: 123 } }) ``` ### 页面小程序中,可以通过路由的方式将数据递给目标页面。在源页面中,通过 `wx.navigateTo` 或 `wx.redirectTo` 方法跳转到目标页面,并数,例如: ```javascript wx.navigateTo({ url: '/pages/detail/detail?id=123' }) ``` 在目标页面中,可以通过 `onLoad` 生命周期函数获取路由数,例如: ```javascript Page({ onLoad(options) { const id = options.id console.log('id:', id) // 输出:id: 123 } }) ``` 需要注意的是,路由数的类型都是字符串类型,如果需要递数字或其他类型的数据,需要进行类型转换。例如: ```javascript wx.navigateTo({ url: '/pages/detail/detail?id=' + 123 }) ``` 在目标页面中,需要将字符串类型的数转换为数字类型,例如: ```javascript Page({ onLoad(options) { const id = parseInt(options.id) console.log('id:', id) // 输出:id: 123 } }) ``` 除了路由,还可以通过全局变量、缓存、事件总线等方式进行数据递。需要根据具体场景选择合适的方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值