Android 为什么在呈现模式之前使用“硬件后退”按钮时,我的Nativescript vue应用程序会崩溃?
我有一个内置在Nativescript Vue中的应用程序,其中详细页面以modals显示 我使用方法Android 为什么在呈现模式之前使用“硬件后退”按钮时,我的Nativescript vue应用程序会崩溃?,android,nativescript,nativescript-vue,Android,Nativescript,Nativescript Vue,我有一个内置在Nativescript Vue中的应用程序,其中详细页面以modals显示 我使用方法$showmodel()打开一个模式,但是当我在呈现模式之前按下Android设备上的“硬件后退”按钮时,应用程序崩溃,并出现以下错误 如果我等一下,它就可以正常工作了 TypeError:无法读取未定义的属性“nativeView” 我是否应该覆盖back功能以在模式完全呈现之前等待?我认为NativeScript Vue可能正在尝试访问不存在的引用 如果您想手动覆盖它,您可以向模式中添加如下
$showmodel()
打开一个模式,但是当我在呈现模式之前按下Android设备上的“硬件后退”按钮时,应用程序崩溃,并出现以下错误
如果我等一下,它就可以正常工作了
TypeError:无法读取未定义的属性“nativeView”
我是否应该覆盖back功能以在模式完全呈现之前等待?我认为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
}
}
我不确定是否会及时添加已创建方法中添加的侦听器以防止崩溃。我认为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
}
}
我不确定是否会及时添加在创建的方法中添加的侦听器以防止崩溃