2017-10-17 2 views
0

Argument des Typs '{query: {limitTolast: number; orderByKey: boolean; }; } 'ist keinem Parameter des Typs' QueryFn 'zuweisbar. Object-Literal kann nur bekannte Eigenschaften angeben, und' Query 'existiert nicht im Typ' QueryFn '.'Abfrage' existiert nicht im Typ 'QueryFn' | angularfire2

package.json

"angularfire2": "^5.0.0-rc.3", 
"firebase": "^4.5.1", 

chat.service.ts

getMessages(): FirebaseListObservable<ChatMessage[]> { 
    return this.db.list('messages', { 
     query: { limitTolast : 25, orderByKey: true} 
    }); 
    } 
+0

Hallo Kendi, Danke für die Bearbeitung. – Rijo

+0

Ich bin auch mit dem gleichen Problem konfrontiert. Etwas Glück? –

+0

Ich habe das gleiche Problem – Francesco

Antwort

1

Es funktioniert nicht, weil AngularFire eine Funktion als zweites Argument übergeben werden erwartet.

Ich denke, Ihr Beispiel war der richtige Weg während der Beta-Version. (Nicht 100% sicher)

Sie haben es die folgende Art und Weise verwenden:

// make sure to provide a child in the orderByChild call 
getMessages(): Observable<ChatMessage[]> { 
    return this.db.list('/messages', ref => { 
     ref.limitTolast(25).orderByKey(true) 
    }); 
    } 

Erfahren Sie mehr über Listen hier abfragen: https://github.com/angular/angularfire2/blob/master/docs/rtdb/querying-lists.md

+0

Hallo Orlandster, FirebaseListObservable ist in der AngularFire 5.0 entfernt. Daher kann ich FirebaseListObservable nicht importieren. – Rijo

+0

@ Rijo danke für den Hinweis. Ich war mir dessen nicht bewusst. Ich habe die Rezension akzeptiert, funktioniert das so? – Orlandster

1

QueryFn müssen firebase.database.Query zurückkehren, nicht nichtig. Sie können die Abfrage wie folgt kodieren, um klarer zu werden:

getMessages(): Observable<ChatMessage[]> { 
    return this.db.list('/messages', ref => { 
     let q = ref.limitTolast(25).orderByKey(true); 
     return q; 
    }); 
    } 
Verwandte Themen