假如从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)
  }
}function navigateBack(o, tarFunName, params) {
    if (tarFunName && params) {
        let num = Common.isNumber(o) ? o + 1 : o.delta + 1
        let pages = getCurrentPages();
        let prevPage = pages[pages.length - num]; //上一个页面
        prevPage.$vm[tarFunName](params);
    }
    uni.navigateBack(o)
}            
                
            
        
评论 (0)