小程序返回上一页并传参

点击返回上一页事件:

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方法。

不过还有另一种可行的方法,就是在子页中设置本地存储。然后在父页中获取。

posted @ 2018-10-16 17:46  chillylight  阅读(2158)  评论(0编辑  收藏  举报