因为navigateBack不支持携带参数,所以只能触发一个自定义事件,并传递参数 params
给上一页。
// 触发自定义事件,并返回上一页
uni.$emit('refreshPreviousPage', params);
//返回上一页
uni.navigateBack({ delta: 1 });
在上一页的 onShow
生命周期钩子中监听这个事件,并执行刷新数据的操作。
// 监听自定义事件
onShow() {
uni.$on('refreshPreviousPage', (params) => {
// 这里执行刷新数据的操作,例如重新调用API获取数据
this.refreshData(params);
});
},
methods: {
refreshData(params) {
// 这里实现数据的刷新逻辑
}
},
onUnload() {
// 页面销毁时移除监听,避免重复监听
uni.$off('refreshPreviousPage');
}