nativescript - 如何在 nativescript 6 中的后退按钮事件上导航到特定页面
问题描述
当我使用nativescript 5时,我编写了一些代码来捕获android上的后退按钮事件并且它工作正常,但是在升级到nativescript 6之后,奇怪的行为出现了:
1- 如果清除历史记录设置为 true,则应用导航到页面然后关闭。
2- 如果清除历史记录设置为 false,它会导航到该页面,然后导航回上一页。
这种行为的一个例子:
假设我希望应用程序在按下后退按钮时导航到页面 A,而我在页面 B 中,所以两个奇怪的行为是:
clearHistory: true
应用程序导航到页面 A 并关闭。
clearHistory: false
应用程序导航到 A 并返回到 B。
这是代码:
if (application.android) {
application.android.on(application
.AndroidApplication
.activityBackPressedEvent, backEvent);
}
function backEvent(){
console.log('pressed')
const navigationEntry = {
moduleName: 'views/mainPage/main-page',
animated: true,
clearHistory: false,
transition: {
name: "slideLeft",
duration: 380,
curve: "linear"
}
}
frame.topmost().navigate(navigationEntry)
}
nativescript 6中有什么我想念的吗?
项目 github 仓库 在这里
解决方案
如果您想在后退按钮上导航,则必须首先通过将取消标志设置为 true 来取消后退导航。
function backEvent(args) {
args.cancel = true;
console.log('pressed')
const navigationEntry = {
moduleName: 'views/mainPage/main-page',
animated: true,
clearHistory: false,
transition: {
name: "slideLeft",
duration: 380,
curve: "linear"
}
}
frame.topmost().navigate(navigationEntry)
}
推荐阅读
- azure - 如何删除 Azure DevOps 中的共享步骤?
- express - 使用 Apollo 联邦实现的 Apollo-server-express
- swift - 如何计算 iPad 上非全屏页面工作表视图的大小
- bash - 为什么来自 PS1 的函数调用需要转义?
- r - 虚线的 Dharma 残差与预测变量的相互作用
- javascript - TypeScript React 无效的钩子调用错误(“错误:无效的钩子调用。”)
- php - WordPress Grooni Crane Theme Content 之前的菜单栏功能
- postgresql - Postgres 和表格内部组织
- http - 为什么在删除新行时 tr 会完全抑制我的 curl 响应标头输出?
- html - div 重叠父 div