【发布时间】:2017-09-30 04:20:19
【问题描述】:
我的最终计划是创建一个手风琴列表,通过单击相应的类别来显示食物名称。但是,现在我不需要显示重复的类别,如“乳制品”。我该怎么做?
我在 Firebase 中有以下数据库结构:
{
"aePQkvozV6gehP7ihjN0OWCltKu2" : {
"-Kv4xipPl0_2oztTMhaS" : {
"category" : "Dairy",
"foodname" : "Milk",
"state" : "on"
},
"-Kv4xipRPvW5ejLTtosX" : {
"category" : "Dairy",
"foodname" : "Butter",
"state" : "on"
},
"-Kv4xipS3lNBqYzknNhL" : {
"category" : "Meat",
"foodname" : "Chicken",
"state" : "on"
},
"-Kv4xipTchrGh8D_lGmR" : {
"category" : "Produce",
"foodname" : "Strawberries",
"state" : "on"
}
}
}
我有以下疑问:
getUserList(user): FirebaseListObservable<any> {
console.log('firebase.auth().currentUser', user);
return this.db.list('userlist' + '/' + user.uid, {
query: {
orderByChild:'category'
}
});
}
类别由以下 HTML 显示:
<ion-item id="foodnames" *ngFor="let list of lists" (click)="additem(item)">
{{list.category}}
</ion-item>
【问题讨论】:
-
我对 firebase 很陌生,但我不相信它有办法从对象列表中提取唯一值。您可以在 observable 的末尾添加一个 rxjs .map() 函数以过滤掉类别
-
您想从哪里删除重复项?从 api 调用中获取列表后?请详细说明
标签: javascript angular typescript firebase firebase-realtime-database