小程序返回上一页并传参
点击返回上一页事件:
returnPre:function(e){
let pages = getCurrentPages();
let prevPage = pages[pages.length - 2];
prevPage.setData({
discount: e.currentTarget.dataset.discount,
})
wx.navigateBack({
delta: 1,
})
}
其中getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出 pages[pages.length - 2] 是上一页,-1是当前页然后直接调用上一页的setData方法
discount 是上一页定义的变量,e.currentTarget.dataset.discount为点击时data-discount中设置好的要传的数据,
然后调用wx.navigateBack返回,delta表示返回的页数,如果delta大于现有页面数,则返回到首页。
wx.navigateBack中还有success,fail,complete方法。
不过还有另一种可行的方法,就是在子页中设置本地存储。然后在父页中获取。