返回不同的页面判断
以下内容由 ChatGPT 输出
如果你是使用微信小程序的原生返回按钮(左上角返回),可以通过监听页面的 onUnload
生命周期方法来实现区分返回逻辑。
以下是具体实现方案:
方案:通过 onUnload
判断来源
1. 从答题页面跳转时传递标识参数
从答题页面跳转到报告列表时,添加一个标识参数 from=quiz
。
2. 在报告列表页面判断来源
在报告列表页面中,通过页面参数判断来源,并在 onUnload
中处理返回逻辑。
export default {
data() {
return {
fromPage: '' // 保存来源标识
};
},
onLoad(options) {
// 获取跳转来源
this.fromPage = options.from || ''; // 如果没有参数,默认是空
},
onUnload() {
// 监听页面卸载(用户点击返回按钮触发)
if (this.fromPage === 'quiz') {
// 如果是从答题页面进入,返回主页
uni.switchTab({
url: '/pages/home/home'
});
}
}
};
3. 直接进入报告列表页面
如果用户直接进入报告列表页面(没有 from
参数),点击返回时会自动返回上一页,无需额外处理。
注意点
switchTab
的限制:确保主页是tabBar
页面,否则会报错。- 页面返回顺序逻辑:
onUnload
仅在页面卸载时触发,如果页面栈中存在多个页面,返回上一页时逻辑会自动生效。
这样,你就可以根据用户是从答题页面跳转过来的,还是直接进入报告列表页面,决定返回逻辑。如果有其他细节需求,我们可以进一步优化! 😊