В сервисе получаю documentSnapshot документа из firebase.
getBelbinById(id: string) {
return this.afs.collection('belbin').doc(id).get();
}
В компоненте подписываюсь на этот сервис и получаю этот documentSnapshot по подписке:
this.sub = this.belbinService.getBelbinById(this.personId)
.subscribe((documentSnapshot: firebase.firestore.DocumentSnapshot) => {
console.log(documentSnapshot.data());
}
На этом у меня начинаются проблемы, так как не могу ничего сделать с data() - нет доступа к свойствам объекта... Сам объект имеет вид и нормально выводится в консоль ()
{ id: "ya1jibU2pZx1niGiuAmp"
qwCF: [0, 0, 2, 0, 0, 6, 2]
qwCO: [0, 0, 0, 0, 2, 0, 0]
qwIMP: [10, 0, 2, 2, 2, 4, 0]
qwME: [0, 4, 0, 4, 2, 0, 0]
qwPL: [0, 0, 0, 0, 0, 0, 0]
qwRI: [0, 2, 2, 2, 2, 0, 0]
qwSH: [0, 0, 0, 0, 0, 0, 0]
qwTW: [0, 4, 4, 2, 2, 0, 8] }
Сломал голову, почему не могу получить доступ к свойствам data(), подскажите в чем проблема? Доступ пробую получить так:
this.sub = this.belbinService.getBelbinById(this.personId)
.subscribe((documentSnapshot: firebase.firestore.DocumentSnapshot) => {
this.id = documentSnapshot.data().id;
this.qwCF = documentSnapshot.data().qwCF;
}
Подсказали в англоязычной ветке. Оказывается, нужно было сначала из documentSnapshot создать переменную. Уже после этого получать доступ к ее свойствам. Не понимаю, почему нужна эта итерация, но это работает.
this.sub = this.belbinService.getBelbinById(this.personId)
.subscribe((documentSnapshot: firebase.firestore.DocumentSnapshot) => {
const data = documentSnapshot.data();
this.qwCF = data.qwCF;
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Для сортировки колонок в таблице использую sortBy (lodash)Не могу додуматься как передать sortColumn из state компонента
нужно проект на vue собрать в один файл (например appjs) Для создания проекта использовал vue-cli-3 и команду vue create <my-project>
В общем при поиске, исчезает запятая если 2 должностиЕсли искать вручную имя, то запятая присутствует