您可以使用列表或对象函数AngularFireDatabase
从数据库中获取对象或列表。你有FirebaseListObserver
与预定义(不是你的自定义)类的对象数组。
您将不得不手动将从FirebaseListObservable中的数据库获得的结果映射到您的自定义类的对象数组。
我假设你的功能,让您的英雄从数据库看起来是这样的:
myHeroes(): FirebaseListObservable<Hero[]> {
return this.db.list('heroes');
}
您可以将结果映射到您的自定义类的数组称为英雄。您可以使用lambda表达式或将函数作为参数传递(本例)。
myHeroes(): Observable<Hero[]> {
return this.db.list('heroes').map(Hero.fromJsonList);
}
如果你得到一个错误的地图是不是一个函数,添加import "rxjs/add/operator/map";
在英雄类添加这两个静态函数:
static fromJsonList(array): Hero[] {
return array.map(Hero.fromJson);
}
//add more parameters depending on your database entries and Hero constructor
static fromJson({id, name}): Hero {
return new Hero(id, name);
}