类型“ AngularFireList <{}>”上不存在属性“ subscribe”

时间:2018-06-23 00:07:41

标签: firebase ionic3 angularfire2

我正在尝试使用ionic运行聊天应用,并且收到此消息

[19:55:51]  typescript: src/pages/chat/chat.ts, line: 26 
        Property 'subscribe' does not exist on type 'AngularFireList<{}>'. 

  L25:  this.username = this.navParams.get('username');
  L26:  this._chatSubscription = this.db.list('/chat').subscribe( data => {
  L27:    this.messages = data;

[19:55:51]  typescript: src/pages/chat/chat.ts, line: 37 
        Property 'catch' does not exist on type 'PromiseLike<void>'. 

  L36:    // message is sent
  L37:  }).catch( () => {
  L38:    // some error. maybe firebase is unreachable

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

在订阅之前,您需要指定valueChanges()或snapshotChanges()。

  

valueChanges()返回数据的Observable作为JSON对象的同步数组。剥夺了所有Snapshot元数据,仅该方法仅提供数据。

     

snapshotChanges()返回一个Observable数据作为同步   AngularFireAction []的数组。

您可以阅读有关获取数据here

的更多信息

因此您的代码应如下所示:

this.db.list('chat').valueChanges().subscribe(data => {
  this.messages = data;
});