- 在第一个页面导航到第二个页面
uni.navigateTo({
url: '/pages/second'
})
2.在第二个页面导航到第三个页面
uni.navigateTo({
url: '/pages/third'
})
3.在第三个页面上监听 onBackPress() 并 return true 阻止返回,弹窗确认后关闭页面
export default {
name: 'third',
onBackPress() {
uni.showModal({
title: '确定返回?',
success(e) {
if (e.confirm) _this.$scope.$getAppWebview().close()
}
})
return true // 阻止返回
}
}
4.回到第二个页面后使用同样的步骤
export default {
name: 'second',
onBackPress() {
uni.showModal({
title: '确定返回?',
success(e) {
if (e.confirm) _this.$scope.$getAppWebview().close()
}
})
return true // 阻止返回
}
}
3 个回复
HellsingMatt (作者)
刚发现在第二个页面中按返回出现的弹窗居然是第三个页面的弹窗!
肿摸破???
DCloud_UNI_GSQ
销毁一个页面并非只关闭 webview 即可,还有很多工作要做。推荐使用封装好的 API:uni.navigateBack。自己增加一个状态来识别是否真的需要后退。
HellsingMatt (作者)
已通过判断 onBackPress({ from }) 中的 from 是否是 backbutton 然后用 uni.navigateBack() 实现了,感谢回复
2021-08-09 16:54
[已删除]
_this是哪里定义的?