wx.navigateBack()不能像其他导航一样通过url传参,因此只能使用其他方法:
先说两个可以实现但弊端很大的方法:
1、将数据存到app.globalData中,然后返回上一页面从全局数据中获取
弊端:数据为全局数据,必须谨慎维护,否则全局某处做出修改,牵一发而动全身
2、将数据存到本地缓存中(localStorage),然后从缓存中获取
弊端:本地缓存空间大小存在限制,若空间不足会自动清除其中最久未使用的数据,同样可能会造成意想不到的影响
so?还有一个比较完美的方法,就是:
使用getCurrentPages()函数获取页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。
var pages = getCurrentPages();
var currPage = pages[pages.length - 1]; //当前页面
var prevPage = pages[pages.length - 2]; //上一个页面
//直接调用上一个页面对象的setData()方法,把数据存到上一个页面中去
prevPage.setData({
data:data
});
wx.navigateBack({
delta: 1
})
---------------------
作者:zSY_snake
来源:CSDN
原文:https://blog.csdn.net/zSY_snake/article/details/81216448