那么,B页面返回上到A页面又如何传参呢?B 页面代码:
getBack(name) {
// 获取当前页上的栈(数组形式)
var pages = getCurrentPages()
//上一页面
var prevPage = pages[pages.length - 2] // (pages.length - 3 上上页 pages.length - 1当前页,以此类推)
prevPage.setData({
//直接给上一个页面赋值
chooseName: name // 注意: name必须是A页面data定义过得字段
})
// 返回上一页
wx.navigateBack({delta: 1})
},
A 页面代码:
onShow() {
this.pages = getCurrentPages()
this.currPage = this.pages[this.pages.length - 1] //当前页
// 直接用this.currPage.data去取B页面传递过来的数据
this.chooseName = this.currPage.data.chooseName
},
注意:
1:name必须是A页面data定义过得字段!
2.接收返回的事件必须写在onShow方法里面,下级返回当前页会触发!
3.A跳转到B页面,必须用navigateTo,此方法会保留之前页面,别的方法会销毁当前页面,否则拿不到当前栈!