wx.navigateTo 传值的方法

913 阅读1分钟

小程序中在跳转页面中的传值

  1. 传简单的id 在地址后面加 ?id=${id}
wx.redirectTo({
url: `/pages/driver/takeOrder/takeOrder?id=${id}`
})
onLoad:function (options) {
  let id = options.id
  this.fetch(id)
},

  1. wx.navigateTo 中events 和 success 的方法
**index.wxml**
// 跳转到next 页 并传值
<view class="uploader" bindtap="navigatetoNext">
    navigateTo传值
</view>

navigatetoNext(){
    wx.navigateTo({
        url: '../next/next',
        events: {
            // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
            sendNextToIndex: function(data) {
              console.log(data)
            }
        },
        // 通过eventChannel向被打开页面传送数据
        success: res => {
          res.eventChannel.emit('sendDataToNext',{ data: 'indexpage'})
        }
    })
}
** next.wxml **
// 输入名称之后 将form的值返回到上一页index中
<view> 姓名:  <input placeholder="name" bindblur="blurinput"></input> </view>

blurinput(e){
    this.setData({
      'form.name':e.detail.value
    })
    let form = this.data.form

    const eventChannel = this.getOpenerEventChannel()
    eventChannel.emit('sendNextToIndex', {form});

    wx.navigateBack({
      url: '../index/index'
    })
},

可以打印一下 const eventChannel = this.getOpenerEventChannel()