为什么在使用NgFor,访问Firebase,Ionic3和AngularFire时出现“预期功能”错误

时间:2018-11-04 22:58:33

标签: firebase ionic-framework ionic3 angularfire2 ngfor

我正在使用Ionic3和Angularfire2访问Firebase数据库。我创建了一个名为“ Service”的“ .ts”文件,以便导出名为“ gelAll”的函数以从Firebase中名为“ cores”的表中获取列表。

 constructor(public db: AngularFireDatabase) {  }
  getAll(){
    return this.db.list('cores').valueChanges();
  }`

之后,我将getAll类导入其他“ .ts”文件以使用该列表:

export class HomePage {

  private listaCores;

  constructor(public navCtrl: NavController, public dbService: FirebaseServiceProvider ) {
  this.listaCores = this.dbService.getAll();
  }

此时一切正常,但是当我尝试使用简单的ngFor在屏幕上显示“ listaCores”时,出现“期望功能”错误...

  <ul>
    <li *ngFor="let c of listaCores|async">
      {{c.descCor}}
    </li>
  </ul>

知道为什么会发生吗?也许是Firebase中的数据问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

也许存在运行时问题,循环ngFor试图在设置值之前访问变量,而不是在构造函数中调用该函数:

ionViewDidLoad() {
    this.listaCores = this.dbService.getAll();
}

ionViewDidLoad是视图生命周期的一部分