Попробуйте изменить метод для одного продукта следующим образом:
getProductDetails(id) {
return this.afStore.doc<CutiteInterface>("bayonete/" + id).get();
}
и в разделе «Вы измените подробную страницу» для этого
this.bayonetSingle = this.ProduseService.getProductDetails(this.bayonetID)
.subscribe(proddet => {
this.bayonetSingle = proddet.data();
console.log(this.bayonetSingle);
});
Если это не работает, попробуйте изменить подробную страницу в разделе «Вы создали все». метод, например.
const dbRef = this.afStore.doc<CutiteInterface>("bayonete/" + id);
dbRef.get().subscribe(prdet => {
const data = prdet.data();
console.log(data);
});
Хорошо, новая версия, мы пытаемся переписать некоторые методы
// get all products
GetBayonete() {
this.loadBayonete = this.afStore.collection("bayonete");
return this.loadBayonete.snapshotChanges().pipe(
map(action => action.map(a => {
const data = a.payload.doc.data() as CutiteInterface;
const id = a.payload.doc.id;
return { id, ...data };
}))
);
}
}
и для одного продукта
// get single product
getProductDetails(id) {
return this.afStore.collection("bayonete").doc(id).snapshotChanges();
}
и на странице вашего компонента что-то вроде этого.
ngOnInit():void {
this.ProduseService.getProductDetails(this.bayonetID).subscribe(px => {
const data = px.payload.data() as CutiteInterface;;
this.beyondSingle = data;
// for test purpose
console.log(bayonetSingle.description);
}
И в вашей html странице измените это
<div class="product_descriere">
{{ (bayonetSingle | async)?.description }}
</div>
на это
<div class="product_descriere">
{{ bayonetSingle.description }}
</div>
и попробуйте это
<div class="product_descriere">
{{ bayonetSingle.description | async }}
</div>
Если у Вас есть вопросы, не стесняйтесь спрашивать