我想让消防站获得可观察的物品。但是问题是它一次订阅一次。下面是我的代码:
在提供者中:
this.allSponser = this.afs.collection<Sponsoremphasized text('sponsors').snapshotChanges().pipe(map(actions => {
return actions.map(a =>
{
const data = a.payload.doc.data() as Sponsor;
data.id = a.payload.doc.id;
return data;
});
}));
在注册页面中:
this.allSponser.subscribe(data=>{ console.log(data); })
如果我要返回到其他页面并再次进行注册,则是第一次打印时不打印。
答案 0 :(得分:0)
首先要提到的是,当您离开组件时,它会被破坏并会重新创建,因此请记住,您需要在observables
和{{1}中订阅ngOnInit
}在“ ngOnDestroy”中
另一点是,我通常会从服务中返回unsubscribe
,例如
observalbe
然后在我的组件中
getSoponsors() {
return this.afs.collection<Sponsoremphasizedtext>('sponsors').snapshotChanges().pipe(map(actions => {
return actions.map(a =>
{
const data = a.payload.doc.data() as Sponsor;
data.id = a.payload.doc.id;
return data;
});
}));
}