小程序页面跳转传数据

2021-03-16  本文已影响0人  一枚小菜

1.API跳转页面时携带参数,在目标页面通过options.获取数据复制给本地变量

url: '/pages/test/test?nameData=' + that.data.name + '&ageData=' + that.data.age
`${ }` (模版字符串)
url: `/pages/test/test?nameData=${that.data.name} + '&ageData='${that.data.age}`

2.全局数据存储

将要传递的数据,存储在App对象上(比如globalData属性)。
将要传递的数据,存储在小程序的本地数据缓存(Storage)中。

//=== 1. 存储到app对象上的方式 ========
var app = getApp()
app.globalData.mydata = {a:1, b:2};  //存储数据到app对象上
wx.navigateBack();  //返回上一个页面

//=== 2.存储到数据缓存的方式 =========
wx.setStorage({
  key: "mydata",
  data: {a:1, b:2},
  success: function () {
    wx.navigateBack();   //返回上一个页面
  }
})

3.从页面路由栈中直接获取和操作目标Page对象

这种方式,是通过调用小程序的API:getCurrentPages(),来获取当前页面路由栈的信息,这个路由栈中按照页面的路由顺序存放着相应的Page对象,我们可以很容易的获取到上一级页面的完整Page对象,从而使直接调用Page对象的属性和方法成为可能。如下所示:

var pages = getCurrentPages();//路由数组
var currPage = pages[pages.length - 1];   //当前页面
var prevPage = pages[pages.length - 2];  //上一个页面

//直接调用上一个页面的setData()方法,把数据存到上一个页面中去
prevPage.setData({
  mydata: {a:1, b:2}
})
上一篇下一篇

猜你喜欢

热点阅读