所属分类:php教程
方法一
把当前页面数据放入本地缓存( wx.setStorage(wx.setStorageSync),上一个页面再从缓存中取出(wx.getStorage(wx.getStorageSync))同时退出登录时要清除缓存(wx.clearStorage(wx.clearStorageSync))。
方法二
1. 在当前页设置上一页的data,例如
var pages = getCurrentPages(); // 获取页面栈
var currPage = pages[pages.length - 1]; // 当前页面
var prevPage = pages[pages.length - 2]; // 上一个页面
prevPage.setData({
mydata: {a:1, b:2} // 假数据
})
登录后复制
当然这个“mydata”必须是上一页有的数据才行
返回上一页的数据为:
wx.navigateBack({
delta: 1
})
登录后复制
2、直接调用方法名来更新数据 页面A
Page({
data: {
name: ''
},
...
,
//更新name
changeData: function(name){
this.setData({
name: name
})
}
})
登录后复制
页面B,假设有一个文本框用于输入姓名,点击返回按钮后更新页面A的name
Page({
//此方法用于文本框输入回调
inputTyping: function (e) {
//获取页面栈
var pages = getCurrentPages();
if(pages.length > 1){
//上一个页面实例对象
var prePage = pages[pages.length - 2];
//关键在这里
prePage.changeData(e.detail.value)
}
}
})
登录后复制
这样就可以实现数据传递给上一个页面,要注意页面A必须使用wx.navigateTo跳转到页面B,不能使用wx.redirectTo,这样会关闭上一个页面,导致页面B无法获取上一页Page实例。
方法三 在app.js中设置全局变量,当前页赋值,上一页取之
方法为
globalData: {
userInfo: null,
}
登录后复制
注意:方法一,方法三,都需要重新刷新页面数据所走方法为:
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
登录后复制
相关文章推荐:
微信小程序中多条数据缓存的代码实例
微信小程序实例:如何实现批量倒计时(附代码)
以上就是微信小程序中带参数返回上一页的方法总结(三种)的详细内容,更多请关注zzsucai.com其它相关文章!