给定一个数组:
// hero.service.ts
hero: Observable<Hero[]>;
你会怎么做类似的事情: hero.push(newHero)?
答案 0 :(得分:1)
不确定您要实现的目标,但是因为您标记了firestore。我猜你可以使用angularfirestorecollection并稍后将它们映射到observable数组。
cardsCollection: AngularFirestoreCollection<Card>;
cardDoc: AngularFirestoreDocument<Card>;
cards: Observable<Card[]>;
在初始化时,您将它们绑定在一起。
ngOnInit() {
this.cards = this.cardsCollection.snapshotChanges().map(changes => {
return changes.map(a => {
const data = a.payload.doc.data() as Card;
data.id = a.payload.doc.id;
return data;
});
});
}
然后您可以将卡添加到AngularFirestoreCollection。
addCard(card: Card) {
this.cardsCollection.add(card);
}
希望这会有所帮助。如果您想查看我的完整代码和项目,请转到我的github。