由于Android Javascript webView回调,VueJS未生成

由于Android Javascript webView回调,VueJS未生成,javascript,vue.js,kotlin,Javascript,Vue.js,Kotlin,我想对我的Android应用程序进行WebView页面回调。我已经成功地使用香草HTML页面完成了这项工作。当我将相同的JavaScript代码添加到VueJS应用程序时,它不想构建,并给我一个ELIFECYCLE错误 在我的Kotlin代码中,我有以下内容: binding.webView.addJavascriptInterface(JavaScriptInterface(), "Android") private inner class JavaScriptInter

我想对我的Android应用程序进行WebView页面回调。我已经成功地使用香草HTML页面完成了这项工作。当我将相同的JavaScript代码添加到VueJS应用程序时,它不想构建,并给我一个
ELIFECYCLE
错误

在我的Kotlin代码中,我有以下内容:

binding.webView.addJavascriptInterface(JavaScriptInterface(), "Android")

private inner class JavaScriptInterface {
  fun showWallet(string: String) {
    AppPreference.PREFERENCE_SCREEN_TYPE = Constants.SCREEN_USER_DASHBOARD
    mainActivity.getNavController().navigate(R.id.action_placeOrder_to_userDashboardFragment)
   }
}
let devicedUsed = this.$store.state.devicedUsed;
if (devicedUsed === 'apple'){
  window.webkit.messageHandlers.message.postMessage('backToWallet');
}else{ //is Android device
  Android.showWallet('backToWallet');
}
Android
是我声明的JavaScript对象,函数是
showWallet
,它将用户导航到另一个片段

在我的VueJS代码中,我有以下内容:

binding.webView.addJavascriptInterface(JavaScriptInterface(), "Android")

private inner class JavaScriptInterface {
  fun showWallet(string: String) {
    AppPreference.PREFERENCE_SCREEN_TYPE = Constants.SCREEN_USER_DASHBOARD
    mainActivity.getNavController().navigate(R.id.action_placeOrder_to_userDashboardFragment)
   }
}
let devicedUsed = this.$store.state.devicedUsed;
if (devicedUsed === 'apple'){
  window.webkit.messageHandlers.message.postMessage('backToWallet');
}else{ //is Android device
  Android.showWallet('backToWallet');
}
上述回调在普通HTML中没有任何问题。我的问题是上面的代码没有生成,我得到了一个错误,
Android
没有定义。VueJS似乎在寻找只在Kotlin代码中定义的
Android


如何解决此问题?

使用
窗口。
前缀告诉编译器它是一个全局变量:

//之前:
Android.showWallet('backToWallet')
//之后:
window.Android.showWallet('backToWallet')