Android 为什么在呈现模式之前使用“硬件后退”按钮时,我的Nativescript vue应用程序会崩溃?

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

我有一个内置在Nativescript Vue中的应用程序,其中详细页面以modals显示

我使用方法
$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
  }
}
我不确定是否会及时添加在创建的方法中添加的侦听器以防止崩溃