Я создаю игровое лобби, в котором игрок начинает игру и ожидает присоединения второго игрока.
Когда присоединяется второй игрок, документ, содержащий информацию об игре в 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 объект:
И это на самом деле то, что "это" в обратном вызове ссылается на:
Я понятия не имею, как вернуть данные в объект Vue, поэтому я могу передать их другие методы и DOM и так далее. Я буквально весь день экспериментирую с материалами, перечитываю все соответствующие документы Firestore, но, видимо, я что-то упускаю, и мне нужна ваша помощь, чтобы найти это