我正在使用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中的数据问题?
谢谢!
答案 0 :(得分:0)
也许存在运行时问题,循环ngFor试图在设置值之前访问变量,而不是在构造函数中调用该函数:
ionViewDidLoad() {
this.listaCores = this.dbService.getAll();
}
ionViewDidLoad是视图生命周期的一部分