web前端开发中遇到的问题整理记录——2019-05
2019-05-10 本文已影响0人
有梦想的风筝
目录
- 小程序中,子页面传值给父页面的方法
正文
1. 小程序中,子页面传值给父页面的方法
A 使用全局数据存储
将要传递的数据,存储在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(); //返回上一个页面
}
})
当返回到上一个页面的时候,可以通过读取这些全局存储区域,来获取到我们需要的数据。
缺点:由于是全局数据存储,所以当你存入了那些数据后,必须谨慎的去管理这些全局数据(何时被销毁)
B 从页面路由栈中直接获取和操作目标Page对象
var pages = getCurrentPages();
var currPage = pages[pages.length - 1]; //当前页面
var prevPage = pages[pages.length - 2]; //上一个页面
//直接调用上一个页面的setData()方法,把数据存到上一个页面中去
prevPage.setData({
mydata: {a:1, b:2}
})
持续整理更新中............................