余乐波报
余乐波报
  • 发布:2020-01-17 15:32
  • 更新:2020-04-09 12:37
  • 阅读:31380

uni.navigateBack()返回时传递参数,最简单的办法!

分类:uni-app

假如从B页面返回A页面:
var pages = getCurrentPages();
var prevPage = pages[pages.length - 2]; //上一个页面
prevPage.setData({
mdata:1
})
经过测试,在uni.app中使用B页面使用setData设置A页面参数无法实现(应该是被更改为常量属性了)。
打印console.log(prevPage)前一页面对象可得:

方法1:我们可以使用A页面原有方法
onHide: ƒ ()
onLoad: ƒ ()
onReady: ƒ ()
onResize: ƒ ()
onRouteEnd: ƒ ()
onShow: ƒ ()
onUnload: ƒ ()
options
......等传递参数。
B页面传递:
var object={
sx1:"参数1",
sx2:"参数2",
}
prevPage.onShow(object);
uni.navigateBack();
A页面接收参数:
onShow(object){
if(!!object){
console.log(object)
}
}

方法2:A页面自定义方法接收参数
B页面传递:
var object={
sx1:"参数1",
sx2:"参数2",
}
prevPage.$vm.otherFun(object);//重点$vm
uni.navigateBack();
A页面接收参数:
otherFun(object){
if(!!object){
console.log(object)
}
}

3 关注 分享
亢龙 Z手可摘星辰 h***@gmail.com

要回复文章请先登录注册

7***@qq.com

7***@qq.com

用的方法2,很好用,APP和H5都支持。
HBUILDER X更新到2.6.9.20200403
prevPage.setData 就用不起了~改了好多~
2020-04-09 12:37