这篇文章主要介绍了微信小程序中带参数返回上一页的方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
成都创新互联公司专注于企业成都营销网站建设、网站重做改版、射阳网站定制设计、自适应品牌网站建设、H5建站、商城建设、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为射阳等各大城市提供网站开发制作服务。
方法一
把当前页面数据放入本地缓存( 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 () { },
感谢你能够认真阅读完这篇文章,希望小编分享的“微信小程序中带参数返回上一页的方法有哪些”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!