Ionic v3 Извлечение данных из Firebase не похоже на работу - PullRequest
0 голосов
/ 28 октября 2018

Мой проект Ionic предназначен для того, чтобы принять класс, местоположение и время учебной сессии, добавить ее в базу данных, а затем отобразить ее на экране в качестве учебной сессии для просмотра всеми пользователями.Вроде как LFG в играх.Я проследил за видео с похожей предпосылкой и могу выдвинуть все данные сеанса, которые мне нужны, но его метод отображения этих данных и любой другой способ, который я нахожу, кажется, не работает.Я также получаю сообщение об ошибке Объект (...) не является функцией, и я понятия не имею, на что он ссылается.

Contact.html:

 <ion-header>
   <ion-navbar color ="primary">
      <ion-row>
      <ion-col>

      </ion-col>
    <ion-title>
      Study Sessions
    </ion-title>
    <ion-col>
      <ion-icon name="add-circle" class="two" navPush="AddSessionPage"></ion-icon>
    </ion-col>
      </ion-row>
  </ion-navbar>
</ion-header>

<ion-content>

  <ion-list>

    <ion-list-header>
      Sessions:
    </ion-list-header>
    <ion-item
              *ngFor="let session of sessionsList$ | async"
              detail-push navPush="ContactPage" [navParams]="{session:session}">
      {{session.class}}

    </ion-item>

  </ion-list>

  <button ion-button (click)="showAllSessions()">Show All Sessions</button>
  <ion-list>

  </ion-list>
</ion-content>

Contact.ts:

import { Component } from '@angular/core';
import { NavController, NavParams } from 'ionic-angular';
import { AlertController } from 'ionic-angular';
import { AngularFireDatabase, AngularFireList } from 'angularfire2/database';
import { Session } from '../../models/session.model';
import { SessionsService } from '../../services/sessions.service'
import { Observable } from 'rxjs/Observable';



@Component({
  selector: 'page-contact',
  templateUrl: 'contact.html'
})
export class ContactPage {
  sessionsList$: Observable<Session[]>;

  session: Session ={
    class : '',
    location: '',
    time: ''
  };

  constructor(public navCtrl: NavController, public navParams: NavParams, private sessionsService: SessionsService,
  private alertCtrl: AlertController) {
  this.sessionsList$ = this.sessionsService.getSessionsList().snapshotChanges().map(changes => {
    return changes.map (c => ({
      key: c.payload.key, ...c.payload.val()
    }));
  });
  }
  ionViewWillLoad(){
    this.sessionsList$ = this.sessionsService.getSessionsList().snapshotChanges().map(changes =>{
    return changes.map (c => ({
      key: c.payload.key, ...c.payload.val()
    }));
  });
  }
  showAllSessions(){
    this.sessionsList$ = this.sessionsService.getSessionsList().snapshotChanges().map(changes =>{
    return changes.map (c => ({
      key: c.payload.key, ...c.payload.val()
    }));
  });
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...