方法1: 父页面设置钩子函数(onBackPress):
适用于刷新多处数据, 但是目前小程序无法生效
onBackPress(options) {
this.refreshData();
},
methods:{
refreshData: function() {
//加载数据
},
},
方法2:
返回加success回调
uni.navigateBack({
delta: 1, //返回层数,2则上上页
success() {
uni.$emit('update',{msg:'页面更新'})
},
})
需要刷新的页面设置:
mounted() {
uni.$on('update', function(data) {
//触发更新后
})
},
//为了优化代码,可以加上移除事件,避免重复监听事件
onUnload() {
// 移除监听事件
uni.$off('update');
},
方法3:
uni.navigateBack({
delta: 1, //返回层数,2则上上页
success() {
if(isRefresh) {
prePage.$vm.needRefresh = true //设置刷新flag
}
}
})
在返回后的页面中定义
data() {
return {
needRefresh: false,
}
},
onShow() {
if(this.needRefresh) {
//刷新逻辑
this.needRefresh = false;
}
},