如何在可观察的 Firebase 变量中分配 SnapshotChanges?
How Can I assign the SnapshotChanges in a Observable Firebase Variable?
我想加载一个文档的所有数据,但是我无法访问文档的id。当我打印对象 this.ressobj 时,id 是可见的,但是当我将 ressobj.id_doc 放入卡片时,文档的 id id 不可见。
this.ResColeccion = this.resser.getSpecificlistRestaurants(this.id);
this.ResObservable$ = this.ResColeccion.snapshotChanges().subscribe(usuariolista =>{
this.ressobj=usuariolista.map(res =>{
return{
nombre:res.payload.doc.data().nombre,
logo:res.payload.doc.data().logo,
descripcion:res.payload.doc.data().descripcion,
portada:res.payload.doc.data().portada,
idadmin:res.payload.doc.data().idadmin,
id_doc:res.payload.doc.id
}
});
console.log(this.ressobj);
});
HTML 代码
<ion-card *ngFor="let ressobj of ResObservable$ | async " [routerLink]="['/opcionesrestaurante',ressobj.id_doc]" >
<img src="{{ressobj.portada}}">
<ion-card-content>
<ion-card-title>
<h1>{{ressobj.nombre}}</h1>
</ion-card-title>
<p>{{ressobj.descripcion}}</p>
</ion-card-content>
</ion-card>
感谢您的帮助
未经测试,但我在我的 angularfire2 项目中使用了类似的东西:
正在获取文档:
const ResObservable$ = () => {
return this.ResColeccion
.snapshotChanges()
.pipe(
map(actions => {
const data = actions.payload.data() as any;
const uid = actions.payload.id;
return { uid, ...data};
})
);
}
ResObservable$.subscribe(item => console.log(item)) // or use async
获取合集:
const ResObservable$ = () => {
return this.ResColeccion
.snapshotChanges()
.pipe(
map(actions => {
return actions.map(a => {
const data = a.payload.doc.data() as any;
const uid = a.payload.doc.id;
return { uid, ...data };
});
})
);
}
ResObservable$.subscribe(items => console.log(items)) // or use async pipe
我想加载一个文档的所有数据,但是我无法访问文档的id。当我打印对象 this.ressobj 时,id 是可见的,但是当我将 ressobj.id_doc 放入卡片时,文档的 id id 不可见。
this.ResColeccion = this.resser.getSpecificlistRestaurants(this.id);
this.ResObservable$ = this.ResColeccion.snapshotChanges().subscribe(usuariolista =>{
this.ressobj=usuariolista.map(res =>{
return{
nombre:res.payload.doc.data().nombre,
logo:res.payload.doc.data().logo,
descripcion:res.payload.doc.data().descripcion,
portada:res.payload.doc.data().portada,
idadmin:res.payload.doc.data().idadmin,
id_doc:res.payload.doc.id
}
});
console.log(this.ressobj);
});
HTML 代码
<ion-card *ngFor="let ressobj of ResObservable$ | async " [routerLink]="['/opcionesrestaurante',ressobj.id_doc]" >
<img src="{{ressobj.portada}}">
<ion-card-content>
<ion-card-title>
<h1>{{ressobj.nombre}}</h1>
</ion-card-title>
<p>{{ressobj.descripcion}}</p>
</ion-card-content>
</ion-card>
感谢您的帮助
未经测试,但我在我的 angularfire2 项目中使用了类似的东西:
正在获取文档:
const ResObservable$ = () => {
return this.ResColeccion
.snapshotChanges()
.pipe(
map(actions => {
const data = actions.payload.data() as any;
const uid = actions.payload.id;
return { uid, ...data};
})
);
}
ResObservable$.subscribe(item => console.log(item)) // or use async
获取合集:
const ResObservable$ = () => {
return this.ResColeccion
.snapshotChanges()
.pipe(
map(actions => {
return actions.map(a => {
const data = a.payload.doc.data() as any;
const uid = a.payload.doc.id;
return { uid, ...data };
});
})
);
}
ResObservable$.subscribe(items => console.log(items)) // or use async pipe