2016-11-02 9 views
1

Ich versuche, Daten für meine Tabelle festzulegen. Ich habe einen Dienst, der Daten wie folgt abrufen soll:Fehler beim Abrufen von Daten von AngularFire

constructor(public af: AngularFire, userData: UserData) { 
    this.smartTableData = af.database.list('events/' + userData.user.uid +'/contacts'); 
    } 

    getData(): any { 
    return this.smartTableData; 
    } 

und meine Komponente ist:

constructor(protected service: SmartTablesService) { 
    this.service.getData().then((data) => { 
     this.source.load(data); 
    }); 
    } 

mein Fehler von der Konsole:

zone.js:357 Error: Uncaught (in promise): Error: Error in ./SmartTables class SmartTables_Host - inline template:0:0 caused by: this.service.getData(...).then is not a function(…)

Antwort

2

AngularFire2 arbeitet mit Observable, die Sie subscribe zu. Der Fehler, den Sie bekommen, ist, weil Sie versuchen, eine undefinierte Funktion then aufzurufen, die in Promises, nicht Observables verfügbar ist.

Sie möchten then durch subscribe ersetzen, um die Daten abzurufen.

constructor(protected service: SmartTablesService) { 
    this.service.getData().subscribe((data) => { 
    this.source.load(data); 
    }); 
} 
Verwandte Themen