Событие «deviceready» должно обернуть ваше приложение vuejs в корневой файл js, а не в компонент.Пример из моего проекта:
import Vue from 'vue';
import VueRouter from 'vue-router';
import axios from 'axios';
import Main from './components/Main.vue';
import StoreComponents from './components/StoreComponents.vue';
import StoreOffers from './components/StoreOffers.vue';
import { pluralize } from './helpers.js';
document.addEventListener('deviceready', function()
{
Vue.use(VueRouter);
Vue.filter('pluralize', function (num, words) {
return pluralize(num, words);
});
Vue.prototype.$http = axios;
// this is how I implemented cordova-plugin-keyboard into Vue
// but the js logic located inside Vue component
Vue.prototype.$keyboard = Keyboard;
// play around with Admob js code here
const router = new VueRouter({
routes: [
{
path: '/',
component: Main
},
{
path: '/store',
component: StoreComponents
},
{
path: '/store/offers',
component: StoreOffers
}
]
});
const app = new Vue({
el: '#app',
router: router
});
}, false);
Вот моя структура проекта Cordova:
/hooks
/platforms
/plugins
/res
/www
/build
/dist
index.html
config.xml
package.json
webpack.config.js
Также вы должны включить плагин admob в cordova config.xml.Это выглядит так:
<plugin name="cordova-plugin-keyboard" spec="^1.2.0" />