У меня есть заметка, на которую я подписываюсь. Работает нормально, но как только навигация включится и снова вернется, данные не будут отображаться. Как так?
export class ProductOverviewComponent implements OnInit, OnDestroy {
products;
subscription;
constructor(private data: CollectionService) { }
ngOnInit(): void {
this.subscription = this.data.products.subscribe(value => {
console.log(value);
this.products = value;
});
}
ngOnDestroy(): void {
this.subscription.unsubscribe();
}
}
export class CollectionService {
private productCollection: AngularFirestoreCollectionGroup<any>;
products: Observable<any[]>;
constructor(private db: AngularFirestore) {
this.productCollection = db.collectionGroup('products');
this.fetchProducts();
}
fetchProducts() {
this.products = this.productCollection.snapshotChanges().pipe(
map(actions => actions.map(a => {
const data = a.payload.doc.data();
const id = a.payload.doc.id;
return { id, ...data };
}))
);
}
}