温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

微信小程序中带参数返回上一页的方法有哪些

发布时间:2021-01-30 12:32:11 来源:亿速云 阅读:279 作者:小新 栏目:移动开发

这篇文章主要介绍了微信小程序中带参数返回上一页的方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

方法一

把当前页面数据放入本地缓存( 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 () {

},

感谢你能够认真阅读完这篇文章,希望小编分享的“微信小程序中带参数返回上一页的方法有哪些”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI