AngularFireList Изменение получения заказа - PullRequest
0 голосов
/ 06 мая 2018

Я хочу получить некоторые данные из моей базы данных Firebase, я перечисляю их с помощью ngfor async, но всегда есть самые последние внизу, но я хочу, чтобы они были вверху.

Это мой конструктор для страницы:

  uid = this.afAuth.auth.currentUser.uid;
  answersRef: AngularFireList<any>;
  allMyAnswers: Observable<any[]>;


  constructor(private afAuth: AngularFireAuth,
    private db: AngularFireDatabase, public authService: AuthService, private router: Router) { 

      var path = 'users/' + this.uid + '/answers';

      this.answersRef = db.list(path);
      this.allMyAnswers = this.answersRef.snapshotChanges().map(changes => {
          return changes.map(c => ({ key: c.payload.key, ...c.payload.val() }));
     });


  }

И я перечисляю их так:

 <div class="aanswer" *ngFor="let myAnswers of allMyAnswers | async">

Я уже некоторое время гуглю, но компания не может найти решение, которое работает для snapshotChanges и AngularFireList.

1 Ответ

0 голосов
/ 06 мая 2018

Установите обратную трубу, которая поразит цель.

pipe.ts

import {Pipe} from 'angular/core';

@Pipe({
  name: 'reverse',
  pure: false
})
export class ReversePipe {
  transform (v) {
    if (v) return v.reverse();

  }
}

your.html

 <div class="answer" *ngFor="let myAnswers of allMyAnswers | async | reverse">

И ваш класс получил неправильное имя.

...