Jqk

在逐梦的路上,总会有人的梦想枯萎,只有提升自我才可以涅槃重生

0%

小程序:带参数返回上一页

小程序: 返回上一页并带回参数

页面跳转的方法参考官方文档:
https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/route.html
前段时间通过物流信息的例子给大家分享了一下关于页面带参传值以及json数据传递的应用案例。那今天呢,使用getCurrentPages(),找到上一级页面的Page实例,再通过setData来直接给上一级页面的data设置数据,来实现传参!
getCurrentPages函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出
1.在子页面点击上一步或者保存数据请求成功以后添加如下代码:

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

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

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

3.至此,子–>父传值就结束了,如果你使用wx.navigateTo和wx.setStorageSync结合来实现返回上一页以及存取参数的话,会遇到一个问题,就是微信自带页面的返回会一直返回这几个页面,造成路由紊乱
这里顺便提一下父–>子传值,很简单就是跳转的时候把参数拼接在链接后面,然后在下一个页面的onload里通过option获取,这其实也不算父-子

-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!