Передать данные с события в VueJS - PullRequest
0 голосов
/ 18 февраля 2019

Итак, я разрабатываю приложение Cordova для Android с VueJS и использую фоновый плагин геолокации

Он генерирует глобальное событие под названием 'location', которое мое приложение слушает в main.js

function onDeviceReady () {
  BackgroundGeolocation.on('location', (location) => {})
}

document.addEventListener('deviceready', onDeviceReady, false)

Как я могу передавать данные о местоположении в переменную в компоненте каждый раз, когда происходит событие?

1 Ответ

0 голосов
/ 18 февраля 2019

Попробуйте добавить прослушиватель событий в методе mounted в своем компоненте и указать его обработчик на метод компонента, например:

export default {
    data() {
        return {
            location: null,
        }
    },
    mounted() {
        document.addEventListener('deviceready', this.onDeviceReady, false)
    },
    beforeDestroy() {
        // remember to remove event listener
        document.removeEventListener('deviceready', this.onDeviceReady)
    },
    methods: {
        onDeviceReady() {
            BackgroundGeolocation.on('location', this.handleLocation)
        },
        handleLocation(location) {
            // you've got location!
            this.location = location
        }
    }
})
...