为啥我的 Nativescript-vue 应用程序在呈现模态之前使用硬件后退按钮时崩溃?
Posted
技术标签:
【中文标题】为啥我的 Nativescript-vue 应用程序在呈现模态之前使用硬件后退按钮时崩溃?【英文标题】:Why does my Nativescript-vue app crash when using the hardware back button before a modal is rendered?为什么我的 Nativescript-vue 应用程序在呈现模态之前使用硬件后退按钮时崩溃? 【发布时间】:2020-10-28 13:59:46 【问题描述】:我有一个内置于 Nativescript-Vue 的应用程序,其中详细页面以模式显示。
我使用 $showModal()
方法打开一个模态,但是当我在呈现模态之前按下 android 设备上的硬件后退按钮时,应用程序崩溃并出现以下错误。
如果我等一下,它就可以正常工作。
TypeError: Cannot read property 'nativeView' of undefined
我是否应该覆盖返回功能以在模态完全呈现之前等待?
【问题讨论】:
【参考方案1】:我认为 NativeScript-Vue 可能正在尝试访问不存在的引用。
如果你想手动覆盖它,你可以在你的模式中添加如下内容:
import * as app from 'tns-core-modules/application'
export default
data:
...
rendered: false
,
methods:
onBackButtonPress (message)
if (!this.rendered) return
app.android.off(app.AndroidApplication.activityBackPressedEvent, this.onBackButtonPress)
this.$modal.close(message)
,
created ()
app.android.on(app.AndroidApplication.activityBackPressedEvent, this.onBackButtonPress)
,
mounted ()
this.rendered = true
我不确定是否会及时添加在created方法中添加的监听器以防止崩溃。
【讨论】:
以上是关于为啥我的 Nativescript-vue 应用程序在呈现模态之前使用硬件后退按钮时崩溃?的主要内容,如果未能解决你的问题,请参考以下文章
我可以将我的 Web 应用程序 Vuejs 移动到 NativeScript-Vue 吗?
恢复后有时会在 Nativescript-Vue 上显示主屏幕