'QueryFn'|类型中不存在'query' angularfire2

Rij*_*ijo 4 firebase typescript angular-cli angularfire2

类型'{query:{limitTolast:number; orderByKey:boolean; }; ''不能赋值给'QueryFn'类型的参数.对象文字只能指定已知属性,'QueryFn'类型中不存在'query'.

的package.json

"angularfire2": "^5.0.0-rc.3",
"firebase": "^4.5.1",
Run Code Online (Sandbox Code Playgroud)

chat.service.ts

getMessages(): FirebaseListObservable<ChatMessage[]> {
    return this.db.list('messages', {
      query: { limitTolast : 25, orderByKey: true}
    });
  }
Run Code Online (Sandbox Code Playgroud)

Orl*_*ter 9

它不起作用,因为AngularFire期望将函数作为第二个参数传递.

我认为你的例子是测试版期间的正确方法.(不是100%肯定)

您可以通过以下方式使用它:

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

在此处了解有关查询列表的更多信息:https://github.com/angular/angularfire2/blob/master/docs/rtdb/querying-lists.md