Мой проект 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()
}));
});
}
}