【问题标题】:Pass data from event in VueJS从 VueJS 中的事件传递数据
【发布时间】:2019-02-18 11:41:31
【问题描述】:

所以,我正在使用 VueJS 开发一个 Cordova Android 应用程序,我使用 background geolocation plugin

它发出名为“位置”的全局事件,我的应用在 main.js 中侦听该事件

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

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

如何在每次触发事件时将位置数据传递给组件中的变量?

【问题讨论】:

    标签: cordova vue.js geolocation


    【解决方案1】:

    尝试在组件的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
            }
        }
    })
    

    【讨论】:

    • 非常感谢,您真的为我节省了很多时间!我只能补充说我添加了window.BackgroundGeolocation.on() 以使其正常工作。
    猜你喜欢
    • 1970-01-01
    • 2017-10-24
    • 2018-09-12
    • 2020-11-08
    • 2018-01-15
    • 2020-08-13
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    相关资源
    最近更新 更多