在离子项目中,我有:
import { AngularFireDatabase, FirebaseListObservable} from 'angularfire2/database';
和一个带有字段的类:
songs: FirebaseListObservable<any>;
因此,代码行:
this.songs = db.list('/songs');
有效并且允许我放线:
<button ion-button ouline *ngFor="let song of songs | async">
在我的HTML中没有问题。
现在,FirebaseListObservable
扩展了RxJS Observable
(source)。
此外,Observable
有一个方法toArray()
。但是,当我运行我的项目时,我看到了:
Typescript Error
Property 'toArray' does not exist on type 'FirebaseListObservable<any>'.
这是为什么?还有另一种方法可以从songs
观察到的数组得到一个数组吗?
答案 0 :(得分:1)
我不确定为什么toArray()
无法正常工作,但我可以建议你从数据库中获取所需的数组。(我通常会在没有数据的情况下执行此操作能够监听数据库的任何变化 - 比如Observable会这样做:
this.db.list('/songs')
.first().toPromise()
.then(response => {
//code to handle the response - in this case its a list
This.items = response;
})
.catch(error => { //error code here });
不要忘记先导入rxjs
和导入
我真的希望它符合您的愿望并帮助您:)