【发布时间】:2020-07-24 08:29:41
【问题描述】:
我正在使用 angular 和 firebase 来创建一个简单的聊天组件。当我在我的组件中创建一个简单的 observable 时,我可以使用适当的 ID 将一个新文档添加到集合中,但没有任何反应。观察者不会对更新的数据做出反应。
当我重新加载页面时,它会反映附加数据。但是,我的期望是满足要求的集合更改将自动反映。谢谢
组件:
ngOnInit(): void
{
this._chatService.getConversations()
.subscribe(result => {
var tempArray = [];
var docData;
result.forEach((doc) => {
docData=doc.data();
docData.uid=doc.id;
//console.log(doc.id, '=>', doc.data());
tempArray.push(docData);
});
this.conversations = tempArray;
console.log('The conversations in the chats are ...');
console.log(this.conversations);
});
}
服务:
/**
* Get conversations
*
*/
getConversations( ):Observable<any> {
let userData = JSON.parse(localStorage.getItem('userData'));
console.log('participantId of '+userData.uid);
return this.afs.collection('convParticipants', ref => ref.where('participantId', '==', userData.uid)).get();
}
【问题讨论】:
标签: angular firebase-realtime-database