第一步,在子页面点击上一步或者保存数据请求成功以后添加如下代码、
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获取,这其实也不算父-子
下一个页面