首页 微信小程序 小程序开发 微信小程序中带参数返回上一页的方法总结(三种)

微信小程序中带参数返回上一页的方法总结(三种)

Aug 10, 2018 pm 04:17 PM
页面传参

本篇文章给大家带来的内容是关于微信小程序中带参数返回上一页的方法总结(三种),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

方法一

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

},
登录后复制

相关文章推荐:

微信小程序中多条数据缓存的代码实例

微信小程序实例:如何实现批量倒计时(附代码)

以上是微信小程序中带参数返回上一页的方法总结(三种)的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)