Как получить данные из Google Firestore в мой экземпляр Vue? - PullRequest
0 голосов
/ 22 апреля 2020

Я создаю игровое лобби, в котором игрок начинает игру и ожидает присоединения второго игрока.

Когда присоединяется второй игрок, документ, содержащий информацию об игре в Firestore, обновляется. имя игрока сохраняется в свойстве playerJoined: И я получаю это успешно:

waitForOtherPlayer(gameId){
            this.unsubscribe = fb.firestore().collection("active-games").doc(gameId+'').onSnapshot(function(doc) {
                if(doc.data()!== undefined) {
                    if(doc.data().playerJoined !== null && doc.data().playerJoined !== undefined) {
                        this.playerJoined = doc.data().playerJoined  // I have a global var called playerJoined
                        console.log('1st this.playerJoined: '+this.playerJoined)
                        this.isPlayerJoined = true
                        console.log(this)
                        console.log(typeof this)
                    }
                } else {
                    console.log("Current data: ", doc.data());
                }
                return
            });
        },

Все хорошо! console.log () доказывает, что имя другого игрока получено. Однако я не могу переслать его глобальному этому объекту.

Это Vue объект: enter image description here

И это на самом деле то, что "это" в обратном вызове ссылается на:

enter image description here

Я понятия не имею, как вернуть данные в объект Vue, поэтому я могу передать их другие методы и DOM и так далее. Я буквально весь день экспериментирую с материалами, перечитываю все соответствующие документы Firestore, но, видимо, я что-то упускаю, и мне нужна ваша помощь, чтобы найти это

1 Ответ

1 голос
/ 23 апреля 2020

Я что-то упускаю

Почему бы не использовать VueFire, поскольку вы используете Vue + Firebase?

Ссылки: https://vuefire.vuejs.org/

...