微信小程序返回上一页的方法并传参

这个有点像子-->父传值

第一步,在子页面点击上一步或者保存数据请求成功以后添加如下代码、

 var pages = getCurrentPages();
 var prevPage = pages[pages.length - 2]; //上一个页面
  //直接调用上一个页面的setData()方法,把数据存到上一个页面中去
 prevPage.setData({
      mydata: {
        id:1,
        b: 125
      }
    })
    wx.navigateBack({//返回
      delta: 1
    })

第二部,在父组件里的onshow生命周期里获取参数,对了,前提是需要你在data里建一个mydata对象,如果传过来的是字符串,mydata建立为字符串,就是对应一下会比较好

var pages = getCurrentPages();
var currPage = pages[pages.length - 1]; //当前页面
let json = currPage.data.mydata;
console.log(json)//为传过来的值

至此,子-->父传值就结束了,如果你使用wx.navigateTo和wx.setStorageSync结合来实现返回上一页以及存取参数的话,会遇到一个问题,就是微信自带页面的返回会一直返回这几个页面,造成路由紊乱

这里顺便提一下父-->子传值,很简单就是跳转的时候把参数拼接在链接后面,然后在下一个页面的onload里通过option获取,这其实也不算父-子

 下一个页面

原文地址:https://www.cnblogs.com/ldlx-mars/p/10598708.html