父页面向子页面传值
- url传值
父页面:
wx.navigateTo({
url: 'test?id=1'
})
子页面:
Page({
onLoad: function(option){
this.setData({
id: option.id
})
}
})
- 本地存储
父页面:
wx.setStorageSync('dataid', '123456')
子页面:
Page({
onLoad: function(){
let dataid = wx.getStorageSync('dataid')
}
})
- 全局的app对象
父页面:
let app = getApp();
app.username ='ddd';
子页面:
Page({
onLoad: function(){
let app = getApp();
let username = app.username;
}
})
子页面向父页面传值
- 可以在父页面的onShow事件中采用本地存储和全局app对象来传值
Page({
onShow: function(){
let username = wx.getStorageSync('username')
}
})
Page({
onShow: function(){
let app = getApp();
let username = app.username;
}
})
- 也可以在子页面获取父页面的page实例,再赋值
var pages = getCurrentPages();
var curPage = pages[pages.length-1]; //当前页面
var prePage = pages[pages.length-2]; //上一个页面
//直接调用上一个页面的 setData() 方法,把数据存到上一个页面中去
prePage.setData({
username: 'hello'
})