【发布时间】:2023-03-24 04:22:02
【问题描述】:
我有一个 AFS observable,我可以像这样在前端显示它:
constructor(
public fb: FirebaseProvider,
) {
this.group = this.navParams.get('group');
this.contactsList = this.fb.getContactsByGroup(this.group.id);
}
我的脸书服务:
getContactsByGroup(groupId: string):Observable<Contact[]> {
return this.afs.collection<Contact>(`groups/${groupId}/contacts`).valueChanges();
}
然后是我的模板:
<single-contact-list-item
[contactId]="contact.id"
(goToModalEvent)="onGoToModal($event)"
*ngFor="let contact of contactsList | async">
</single-contact-list-item>
现在我有一个文本区域,提交时会触发一个事件。我想要做的是遍历 Observable (contactsList) 中的每个项目并获取一个属性,例如:
public sendSMS(): void {
this.contactsList.forEach(contact => {
console.log(contact.number); // nothing!
})
//this.deviceProvider.sendSMS(this.contactsList, this.message);
}
我觉得问题在于通过在模板中使用异步管道,Observable 已经被订阅了。任何帮助表示赞赏。
【问题讨论】:
标签: javascript angular rxjs observable