Я пытаюсь добавить массив с идентификатором текущего пользователя определенного документа в моей коллекции, когда другой пользователь выполняет действие, его идентификатор этого нового пользователя должен быть добавлен в этот массив (или удален, если он уже найденный). Что-то вроде «нравится» или «мне не нравится»
Я хочу добиться этого:
Однако, когда я выполняю действие, я получаю следующую ошибку:
ОШИБКА TypeError: Невозможно прочитать свойство 'uid' с нулевым значением
Есть ли лучший способ поднять его?
В данный момент я тестирую таким образом:
service.ts
import * as firebase from 'firebase/app';
user = firebase.auth().currentUser;
updateFavoritos(key) {
this.afs.doc('eventos/' + key).update({
favoritos: [ this.user.uid, 'uno', 'dos', 'tres'],
});
}
component.ts
actualizarFavoritos(key, e) {
this.fs.updateFavoritos(key);
}
component.html
<mat-slide-toggle #toggle [ngModel]="evento.favoritos" (ngModelChange)="actualizarFavoritos(evento.id, evento, $event)">
<span *ngIf="!evento.favoritos" class="text-muted">No publicado</span>
<span *ngIf="evento.favoritos" class="text-primary">Publicado</span>
</mat-slide-toggle>
Если я выполню следующее: favoritos: ['uno', 'dos', 'tres']
без проблем. Я должен упомянуть, что я использую this.user.uid
для других функций, и у меня нет проблем.