2017-10-17 4 views
0

'{query : {limitTolast : number; orderByKey : 부울 값; }; } '는'QueryFn '유형의 매개 변수에 지정할 수 없습니다. 리터럴은 알려진 속성 만 지정할 수 있으며'QueryFn '유형에는'query '가 없습니다. 그것은 작동하지 않습니다'query'는 '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

안녕 KENDI, 감사합니다. – Rijo

+0

나는 또한 동일한 문제에 직면하고있다. 행운? –

+0

동일한 문제가 있습니다 – Francesco

답변

1

, AngularFire이 함수는 두 번째 인수로 전달 될 것으로 기대하고 있기 때문이다.

저는 여러분의 예가 베타 버전 동안 올바른 방법이라고 생각합니다.

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

여기에 목록을 쿼리에 대해 자세히 알아보기 : https://github.com/angular/angularfire2/blob/master/docs/rtdb/querying-lists.md

+0

안녕하세요 Orlandster, FirebaseListObservable이 AngularFire 5.0에서 제거되었습니다. 그래서 FirebaseListObservable을 가져올 수 없습니다. – Rijo

+0

@Rijo 힌트에 감사드립니다. 나는 이것을 알지 못했다. 나는이 리뷰를 받아 들였습니다. 이렇게 작동합니까? – Orlandster

1

QueryFn 무효하지하는 firebase.database.Query을 반환해야합니다 (100 % 확인)

당신은 그것을 다음과 같은 방법을 사용합니다. 당신은 더 명확를 들어,이 같은 쿼리를 코딩 할 수 있습니다 : 편집에 대한

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