我在Firebase中有以下数据库:


 Root Categories / ID / {text:Item1 AL:Item 2 TEXT:Item 3 ...} 



 我有以下代码来获取我想要的项目“.text”或具有前一个文本的项目:


 this.categories = af.database.list('/ categories /'+ this.ID);
 this.categories.subscribe(categories =&gt ; console.log(categories));
 this.categories.subscribe(
 categories => {
 categories.map(categories =>
 console.log(categories。)文本),

)
});'



 Console.log完全返回我的内容但是当我在HTML文件中检索 {{categories}}
时,它返回 Object
Object
有人知道如何解决它?对不起我的无知我是一个初学者。

答案 0 :(得分:0)
如果您尝试仅打印{{categories}}
这是预期的行为,因为categories
似乎是一个对象。如果您希望查看categories
,则需要添加json
管道:
{{categories | json}}
但我怀疑这不是你想要的。您需要使用属性来显示categories
的每个属性,例如:
{{categories.text}}
如果categories
是一个数组,请忽略上面的代码,但json管道也适用于这种情况。如果categories
是一个数组,那么你需要迭代数组,然后从每个对象打印你想要的属性,例如
<div *ngFor="let cat of categories">
{{cat.text}}
</div>
如果您只想选择某些特定值,可以在地图中执行此操作并将值分配给新数组,例如:
categoriesText: string[] = [];
this.categories.subscribe(
categories => {
categories.map(categories => {
console.log(categories.text)
this.categoriesText.push(categories.text); // push values to new array
});
});
然后你可以迭代那个数组:
<div *ngFor="let cat of categoriesText">
{{cat}} <!-- here no property name as it's only a string array -->
</div>
希望这有帮助! :)