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

why 849 2024-08-07

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

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

方法一

把当前页面数据放入本地缓存( wx.setStorage(wx.setStorageSync),上一个页面再从缓存中取出(wx.getStorage(wx.getStorageSync))同时退出登录时要清除缓存(wx.clearStorage(wx.clearStorageSync))。

方法二

1. 在当前页设置上一页的data,例如

1

2

3

4

5

6

var pages = getCurrentPages(); // 获取页面栈

var currPage = pages[pages.length - 1]; // 当前页面

var prevPage = pages[pages.length - 2]; // 上一个页面

prevPage.setData({

  mydata: {a:1, b:2} // 假数据

})

当然这个“mydata”必须是上一页有的数据才行

返回上一页的数据为:

1

2

3

wx.navigateBack({

  delta: 1

})

2、直接调用方法名来更新数据 页面A

1

2

3

4

5

6

7

8

9

10

11

12

13

Page({

  data: {

    name: ''

  },

  ...

  ,

  //更新name

  changeData: function(name){

    this.setData({

      name: name

    })

  }

})

页面B,假设有一个文本框用于输入姓名,点击返回按钮后更新页面A的name

1

2

3

4

5

6

7

8

9

10

11

12

13

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中设置全局变量,当前页赋值,上一页取之

方法为

1

2

3

globalData: {

  userInfo: null,

}

注意:方法一,方法三,都需要重新刷新页面数据所走方法为:

1

2

3

4

5

6

/**

* 生命周期函数--监听页面显示

*/

onShow: function () {

 

},

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:小程序中页面布局和绝对定位与按钮代码的剖析
下一篇:小程序中实现点击倒计时功能的代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~