我的应用程序未触发事件deviceready

时间:2017-11-16 21:48:33

标签: javascript android ios cordova vue.js

我正在尝试使用vue.js和vue-cordova加载cordova插件。

我正在使用vue-cordova,使用插件open-native-settings来访问设备的设置(ios或android)。 这适用于github上的vue-cordova插件提供的演示应用程序,但是当我将它添加到我的应用程序(同样的方式)时,事件似乎永远不会触发。 所以我试着用

等待事件

Vue.cordova.on('deviceready', () => { // here check for your variable })

document.addEventListener('deviceready', deviceReady, false);

但由于事件从未触发,他们什么都不做。 我有点迷失了让这个事件被触发的方式,所以我可以正确加载我的插件。 我是初学者使用这个,所以我可能会遗漏一些东西。

更新

我正在以这种方式加载我的main.js中的vue-cordova:

import VueCordova from 'vue-cordova'
Vue.use(VueCordova, {
optionTestKey: 'optionTestValue'
})

之后,我尝试以这种方式在另一个视图中加载插件:

import Vue from 'vue'
//some code here
mounted: function() {
this.cloudyConnection();
this.lastUpdateDate = this.getLastUpdateDate();
if (this.cordova.deviceready === true) {
  this.onDeviceReady()
}

}, 我也尝试用挂载的函数和上面列出的函数来完成它。

我还在www / index.html中添加了<script src="cordova.js"></script>,如a - m所示,但这没有做任何事情

感谢大家帮助我的所有时间!

1 个答案:

答案 0 :(得分:1)

阅读http://kartsims.github.io/vue-cordova/问题排查部分:

  

“我的事件似乎没有被解雇”

     

Cordova文档并不明显,但您需要在www / index.html中包含以下脚本标记。

     

<script src="cordova.js"></script>

确保在脚本之前加载cordova.js,并且vue-cordova自上次加载后依赖于此。