Ionic, как показать данные из firebase, с которыми можно взаимодействовать? - PullRequest
0 голосов
/ 28 сентября 2019

Я хочу получить данные из firebase, чтобы показать в HTML, но когда я запускаю приложение, HTML не показывает никаких данных

Я пытался извлечь данные из firebase, используя, чтобы показать их вСтраница приложения.Первый раз, когда я пытаюсь, это сработало.однако после нескольких настроек страницы службы код не работал.Я предполагаю, что это как-то связано с HTML-кодом.Вот код:

HTML

        </ion-list-header>
        <ion-item tappable *ngFor="let club of ClubList | async" routerLink="/club-detail/{{ event.id }}">
          <ion-label>
            <h2>{{club?.clubName}}</h2>
            <p>Club President: ${{club?.clubPresident}}</p>
            <p>Capacity: ${{club?.noOfMember}}</p>
          </ion-label>

Сервисный код

export class ClubService {
  public clubListRef: firebase.firestore.CollectionReference;
  clubName: string;
  constructor() {
    firebase.auth().onAuthStateChanged(user => {
      if (user) {

        this.clubListRef = firebase
          .firestore()
          .collection(`/createdClub/clubList/club/`);
      }
    });


  }
getClubList(): firebase.firestore.CollectionReference {
    return this.clubListRef;
  }

Page.ts код

export class ClubListPage implements OnInit {
  public ClubList: Array<any>;
  constructor(private ClubService: ClubService) {}

  ngOnInit() {

    if(this.ClubService.getClubList())
      this.ClubService
      .getClubList()
      .get()
      .then(clubListSnapshot => {
        this.ClubList = [];
        clubListSnapshot.forEach(snap => {
          this.ClubList.push({
            id: snap.id,
            name: snap.data().name,
            president: snap.data().president,
            capacity: snap.data().capacity
          });
          return false;
        });
      });      
  }
}
...