在微信小程序里面,页面基本上都是一个栈的数据结构,当我们使用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
})
  1. 上一个页面:
// 获取值并进行赋值(一般小编是写在onShow里面)
this.setData({
   addressid: currPage.__data__.addressid || null
})

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

Last modification:April 1st, 2020 at 06:10 pm
If you think my article is useful to you, please feel free to appreciate