我的 Firebase 数据库的结构如下:
fire-demo-123
目前我正在使用此代码component.ts获取列表
title = 'FirebaseDemo';
// courses: any[];
courses$;
course$;
author$;
todos$: AngularFireList<any>;
// subscription : Subscription;
constructor(public db: AngularFireDatabase) {
db.list('/course')
.valueChanges()
.subscribe((inp) => {
this.courses$ = inp;
console.log(this.courses$);
// Output is ["course1", "course2", "course3", "course4"]
});
组件.html
<h3>List</h3>
<ul>
<li *ngFor="let course of courses$">{{course}}
</li>
</ul>
但是有什么方法可以参考 id 来获取它们 {id:1,value:"course1"}...
这是我的数据库导出。
{
"course" : {
"1" : "course1",
"2" : "course2",
"3" : "course3",
"-MZOnCn1YdQ2sGLhajuL" : "course4"
}
}
我正在尝试获取带有 id 的课程。
保持数据库结构相同,最好的方法是遍历所有键并创建一个新对象,如下所示:
const courses = {
"1": "course1",
"2": "course2",
"3": "course3",
"-MZOnCn1YdQ2sGLhajuL": "course4"
}
const res = []
Object.keys(courses).forEach((course) => {
res.push({id: course, value: courses[course]})
})
console.log(res);
请确保courses
使用实时数据库中的快照值替换对象。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句