从AngularFire获取数据时出错

时间:2016-11-02 09:30:43

标签: angular rxjs angularfire2

我正在尝试将数据设置到我的表格中。 我有一个应该检索这样的数据的服务:

  constructor(public af: AngularFire, userData: UserData) {
    this.smartTableData = af.database.list('events/' + userData.user.uid +'/contacts');
  }

  getData(): any {
    return this.smartTableData;
  }

我的组件是:

 constructor(protected service: SmartTablesService) {
    this.service.getData().then((data) => {
      this.source.load(data);
    });
  }

来自控制台的错误:

  

zone.js:357错误:未捕获(在承诺中):错误:错误   ./SmartTables类SmartTables_Host - 内联模板:0:0引起:   this.service.getData(...)。然后不是函数(...)

1 个答案:

答案 0 :(得分:2)

AngularFire2适用于您subscribe的Observables。 你得到的错误是因为你试图调用一个未定义的函数then,它在Promises中可用,而不是Observables。

您希望将then替换为subscribe以检索数据。

constructor(protected service: SmartTablesService) {
   this.service.getData().subscribe((data) => {
     this.source.load(data);
   });
}