hanhan发布日期:2022-04-22
当你再当前页面使用navigateBack返回到上级页面后,上级页面的onShow函数就会被自动触发,你可以在onShow执行一些后置的业务逻辑。
当然,假如你只是想刷新页面的数据,使用vuex就可以实现了跨页面数据刷新了,也没必要在onShow里做特别的处理,因此,我这里建议涉及到多页面更新的场景尽量使用vuex实现。
但是假如涉及到非数据刷新问题,比如页面转跳,就需要在onShow函数里面做,可以这样实现,代码如下:
uni.setStorageSync("gotoUrlBack","cart");
uni.navigateBack({
complete:function(){
//在这里写逻辑没用
}
});
上级页面写如下的代码:
onShow(){
let gotoUrl=uni.getStorageSync("gotoUrlBack");
if(gotoUrl!=null&&gotoUrl!=undefined&&gotoUrl!==''){
uni.removeStorageSync("gotoUrlBack");
uni.redirectTo({
url:gotoUrl
});
}
}