场景:从A页面跳到B页面,操作成功后,uni.navigateBack()返回A页面并传值,不是链接带参数
看到网上很多说用 prevPage.setData,试了一下发现不行,然后打印prevPage发现没有setData
var pages = getCurrentPages(); // 获取页面栈
var currPage = pages[pages.length - 1]; // 当前页面
var prevPage = pages[pages.length - 2]; // 上一个页面
可以看到有onload,onshow等,尝试了下prevPage.onShow,发现可行
第一种,prevPage.onShow
var pages = getCurrentPages(); // 获取页面栈
var currPage = pages[pages.length - 1]; // 当前页面
var prevPage = pages[pages.length - 2]; // 上一个页面
B页面传
let obj={
name: '老王',
age:'18'
}
prevPage.onShow(obj);
uni.navigateBack()
A页面接收
onShow(options){
console.log(options)
}
第二种,使用$vm直接修改A页面data里的数据
B页面传,A页面不用接收,data里的值已经被修改了
var pages = getCurrentPages(); // 获取页面栈
var currPage = pages[pages.length - 1]; // 当前页面
var prevPage = pages[pages.length - 2]; // 上一个页面
prevPage.$vm.sup_name ='老王'
prevPage.$vm.age = '18'