显示angularfire2查询中的单个项目

显示angularfire2查询中的单个项目,angular,rxjs,angularfire2,Angular,Rxjs,Angularfire2,是否有任何方法可以显示来自angularfire2的查询而不使用ngFor循环 this.user = this.af.database.list('items',{ query: { orderByChild: 'id', equalTo: id } }) 我尝试过用所有这些输出HTML,但只有循环有效 {{user}} {{user | async }} {{user.name}} {{user.name | async }} <h1>{{ (use

是否有任何方法可以显示来自angularfire2的查询而不使用ngFor循环

this.user = this.af.database.list('items',{
  query: {
    orderByChild: 'id',
    equalTo: id
  }
})
我尝试过用所有这些输出HTML,但只有循环有效

{{user}}
{{user | async }}

{{user.name}}
{{user.name | async }}

<h1>{{ (user | async)?.name }}</h1>

<ul>
   <li *ngFor="let u of user  | async" >{{u.name}}</li>
</ul>

同样,通过将json输出到html来调试angularfire也很简单,这在angularfire2中似乎不起作用,是否还有其他方法可以这样做?

当然,只有循环可以工作,因为
.list()
返回名称所示的列表

AF2上还有一个
.object()
方法,您可以尝试一下

要在模板中输出json,可以使用json管道:

users | async | json
您可以通过以下方式完成:

this.user = this.af.database.list('items',{
  query: {
    orderByChild: 'id',
    equalTo: id
  }
}).map((items: Array<any>) => items.find(item => item.id === id))
查看官方文件:有关更多详细信息…

例如:

singleObject = this.db.object('/items/' + id).valueChanges();
然后是html

{{singleObject | json}}
{{items.id-1}}
singleObject = this.db.object('/items/' + id).valueChanges();
{{singleObject | json}}
{{items.id-1}}