uniapp 返回上一个页面携带参数并刷新
1.返回方式两种,自定义返回窗口返回onBackPress()
2.在要返回的页面定义接收参数
data() {
return {
messageId: null,
}
}
3.点击返回页面,如果有自定义返回事件
navtoUp() {
let pages = getCurrentPages(); //获取所有页面栈实例列表
let nowPage = pages[pages.length - 1]; //当前页页面实例
let prevPage = pages[pages.length - 2]; //上一页页面实例
prevPage.$vm.messageId = this.messageId; //修改上一页data里面的messageId
uni.navigateBack({
delta: 1 //返回层数,2则上上页
});
},
4.窗口返回事件
onBackPress(options) {
if (options.from === 'navigateBack') {
return false;
}
let pages = getCurrentPages(); //获取所有页面栈实例列表
let nowPage = pages[pages.length - 1]; //当前页页面实例
let prevPage = pages[pages.length - 2]; //上一页页面实例
prevPage.$vm.messageId = this.messageId;
uni.navigateBack({
delta: 1
});
return true; // 此处必须 return
}
5.刷新上一个页面,在onShow里判断改变的值
onShow() {
if(this.messageId!=null) {
this.getGetBaseData(this.messageId,'','')//getGetBaseData()需要执行的请求
}
},