如何从angularFire数据库获取详细信息并将其设置为模板

时间:2017-05-29 23:11:18

标签: angularjs firebase firebase-realtime-database ionic2 angularfire2

我正在尝试从angularFire2 database获取用户详细信息。因此,我使用FirebaseListObservable而不是使用FirebaseObjectObservable,因为我只希望路径中的用户。

这是我导出用户数据的路径和列。

  path: /projects/users/
  columns: userID,username

  data
     userID:"001",
     username:"Icomin"

这是home.ts

   import { Component } from '@angular/core';
   import { NavController,AlertController,ActionSheetController } from 'ionic-angular';
   import{AngularFireDatabase,FirebaseListObservable,FirebaseObjectObservable} from 'angularfire2/database';
  import {Observable} from 'rxjs/Observable';



@Component({
   selector: 'my-child-component',
   template: `<h1>Welcome {{ (projects | async)}}</h1>` // The template
})
export class HomePage{


projects: FirebaseObjectObservable <any>;

 constructor(af:AngularFireDatabase) {

      this.projects = af.object(`/projects/users`);
  }

我实现了下面的模板,但返回Welcome [object object]

模板实施

 template: `<h1>Welcome {{ (projects | async)}}</h1>`

如何从上述路径获取用户详细信息并将其设置为模板

1 个答案:

答案 0 :(得分:0)

正如您所提到的,您从项目变量获得Fibers/Future。这意味着您会收到此来电Welcome [object object]的列表 我真的不知道你想要用这个清单做什么,但你几乎没有选择:
1 - 显示列表中的所有用户:

af.object('/projects/users')

这将逐个显示所有用户的姓名 2 - 显示特定用户:
(您需要选择过滤条件:userID或用户名)

template: ' <h1 *ngFor="let proj of projects | async">{{ proj.username }}</h1>

然后显示当前用户名的模板:
    export class HomePage{ project: FirebaseObjectObservable <any>; constructor(af:AngularFireDatabase) { this.project = af.list(`/projects/users`,{ query: { orderByChild: 'userID', //or orderByChild: 'username', equalTo: <someUserID> // equalTo: <someUsername> } }); } }

希望它符合您的要求。