Bro*_*zka 5 javascript cordova vue.js
我正在尝试构建一个混合应用程序Cordova。我使用 VueJS 进行路由和 AJAX 请求。
不幸的是我无法捕捉到一些事件Cordova。甚至该deviceReady活动也不起作用。
这是我的文件:
require('./bootstrap');
var Vue = require('vue');
var VueRouter = require('vue-router');
Vue.use(VueRouter);
// Some components
Vue.component('test', require('./Vue/components/test.vue'));
Vue.component('mainnav', require('./Vue/partials/mainnav.vue'));
// Route-components
const Home = Vue.component('home', require('./Vue/pages/home.vue'));
const Login = Vue.component('login', require('./Vue/pages/auth/login.vue'));
const Register = Vue.component('register', require('./Vue/pages/auth/register.vue'));
const notFound = Vue.component('notFound', require('./Vue/pages/404.vue'));
// the routes
const routes = [
{ path: '', component: Home },
{ path: '/', component: Home },
{ path: '/login', component: Login },
{ path: '/register', component: Register },
{ path: '*', component: notFound }
];
const router = new VueRouter({
mode: 'history',
routes // short for routes: routes
});
const vueApp = new Vue({
router,
mounted: function(){
//alert('VueJS is ready!');
document.addEventListener('deviceReady', this.onDeviceReady, false);
},
methods: {
onDeviceReady: function() {
alert('Device is ready!');
}
}
}).$mount('#app');
Run Code Online (Sandbox Code Playgroud)
也许我没有收到消息,因为设备在 Vue 准备好之前就准备好了。但我该如何处理这个问题呢?
我可以访问其他选项,例如vibration-plugin来自 Vueroot-instance和 vue 组件的选项:
export default {
data() {
return {
vibrateDuration: 5000,
};
},
methods: {
letsVibrate: function(){
navigator.vibrate(this.vibrateDuration);
}
}
}
Run Code Online (Sandbox Code Playgroud)
知道如何在 Vue 中捕获设备就绪事件吗?
这可能是并发问题。尝试设置一些简单的信号量锁,仅当两者都打开时才触发功能(未经测试,但您明白了):
let deviceReady = false
let vueMounted = false
const vueApp = new Vue({
router,
mounted: function(){
vueMounted = true
if (deviceReady) vueApp.everythingReady()
},
methods: {
everythingReady: function() {
alert('Vue is mounted and everything is ready')
}
}
}).$mount('#app')
document.addEventListener('deviceReady', () => {
deviceReady = true
if (vueMounted) vueApp.everythingReady()
}, false)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4577 次 |
| 最近记录: |