在微信小程序里面,页面基本上都是一个栈的数据结构,当我们使用wx.navigateto,打开一个新的页面的时候,这时候就会在栈顶显示这个页面,当我们使用wx.navigateBack() 返回上个页面的时候,就是把当前的页面pop出去。小编之前用过RN,当时采用的是回调函数来实现的,其实在小程序里面不需要这么麻烦,我们可以直接拿到页面栈,然后给上个页面直接赋值就行。
操作方法:

  1. 在当前页面执行:

    let pages = getCurrentPages(); // 拿到页面栈
    let prevPage = pages[pages.length - 2]; // 拿到上个页面,-1是当前页面
    prevPage.setData({ // 赋值
     addressid: e.currentTarget.dataset.addressid
    })
    wx.navigateBack({ // 返回
     delta: 1
    })
  2. 上一个页面:

    // 获取值并进行赋值(一般小编是写在onShow里面)
    this.setData({
    addressid: currPage.__data__.addressid || null
    })

    微信小程序wx.navigateBack() 携带参数返回.png

Last modification:April 1, 2020
If you think my article is useful to you, please feel free to appreciate