angular - 试图从 Ionic Angular 中的 Firebase 获取对象
问题描述
我正在尝试从对象中获取详细信息视图的信息。
我将数据存储为:
async createRecord() {
const user = await this.fbauth.authState.pipe(first()).toPromise();
const record = {};
record['Name'] = this.roomName;
record['Number'] = this.roomNumber;
record['Description'] = this.roomDescription;
record['User'] = { email: user.email };
this.crudService.create_NewRoom(record).then(resp => {
this.roomName = "";
this.roomNumber = undefined;
this.roomDescription = "";
this.roomUser = toString();
console.log(resp);
this.router.navigate(['rooms']);
})
.catch(error => {
console.log(error);
});
}
服务.ts
read_Room(id) {
return this.firestore.doc('Rooms/' + id);
}
create_NewRoom(record) {
return this.firestore.collection('Rooms').add(record);
}
room.page.ts:
roomView(record) {
const navigationExtras: NavigationExtras = {
queryParams:{
info: this.crudService.read_Room(record)
}
}
this.router.navigate(["roomview"], navigationExtras);
}
}
roomview.page.ts:
constructor(private route: ActivatedRoute, private router: Router) {
this.route.queryParams.subscribe(params => {
if (params && params.info) {
this.data = params.info;
}
console.log(params);
});
}
roomview.page.html
<ion-card-title>
{{ data }}
</ion-card-title>
并返回我只得到:
{info: "[object Object]"} info: "[object Object]" 原型:对象
但我希望看到我在该对象中拥有的数据,例如姓名和号码。任何帮助,将不胜感激!
解决方案
假设你@angular/fire
在你的 read_Room(id) 方法中使用尝试实现这样的东西,它实际上会从 firestore 中提取一些东西:
read_Room(id) {
this.firestore.collection('Rooms').doc(id).ref.get().then(r => {
return r.data();
});
}
https://firebase.google.com/docs/firestore/query-data/get-data这可能是您正在寻找的指南。
推荐阅读
- r - 在 R 中使用 group_by() 中的参数产生 function() 的问题
- xml - Powershell如何检查xml对象中的文本内容是否为空
- autosuggest - 如何影响 Here Maps 的自动建议结果
- java - 错误:尝试在空对象引用上调用虚拟方法“java.lang.String android.os.Bundle.getString(java.lang.String)”
- python - 遍历 url 列表并获取选定的文本
- pyspark - 如何在 Pyspark 函数中引用包含 f 字符串的列?
- jdbc - 如何将 Apache Zeppelin JDBC 解释器限制为仅选择查询
- c++ - 错误:我的 C++ 程序中损坏的大小与 prev_size
- powershell - 如何使用外部文件(如 .txt)中的阻止列表在 Powershell 管道中进行过滤
- ios - 与模拟器相比,dispatchgroup 在 testflight 中以不同的顺序执行任务