потому что, когда я выполняю запрос к firestore с помощью метода snapshotChanges или valueChanges, он не запускается до тех пор, пока я не напечатаю его в html? - PullRequest
0 голосов
/ 31 октября 2019

Я делаю запрос к базе данных «firestore» через метод snapshotChanges (), но этот, похоже, не выполняется, я понял, что это, если он выполняется, когда я печатаю наблюдаемую переменную в HTML

HTML

<ion-segment-button value="all" *ngFor="let usuario of (usuarios | async)" >
  <div class="content-circle">
    <div class="content-icon-usuario">

      <img [attr.src]="usuario.img" alt="">

    </div>
  </div>
  <label for="">{{usuario.nombre}}</label>
</ion-segment-button>

javascript

private usuarios: Observable<Usuario[]>;
this.usuarios = this.getUsuariosService.getUsuarios();

Службы

private usuarios: Observable<Usuario[]>;
private usuarioCollection: AngularFirestoreCollection<Usuario>;


  constructor(private afs: AngularFirestore) { 
    debugger;
    this.usuarioCollection = this.afs.collection<Usuario>('usuarios',ref=>ref.orderBy('nombre','desc'));
    this.usuarios =  this.categoriaCollection.snapshotChanges().pipe(
      map(actions => {
        return actions.map(a => {

          const data = a.payload.doc.data();
          const id = a.payload.doc.id;
          return { id, ...data };
        });
      })
    );

  }


  getUsuarios(): Observable<Usuario[]> {
    return this.usuarios;
  }

это работает нормально, но если я удаляю html-код, snapshotChanges () неказнены

...