如果我嘗試使用RxJS運營商一樣。取,.skip等上FireBaseListObservable,我得到「採取的是不是一個函數」錯誤:如何在FirebaseListObservable上使用.take?
import {Component} from '@angular/core';
import {AngularFire, FirebaseListObservable} from 'angularfire2';
import {Observable} from 'rxjs';
export class AppComponent {
items: FirebaseListObservable<any>;
constructor(public af: AngularFire) {
// this works
Observable.interval(1000).take(5).subscribe(x => console.log(x));
this.items = af.database.list('/items');
// this does not
this.items.take(1).subscribe();
}
}
編輯: 通過進口導入。採取「rxjs /添加/運營/取「;沒有工作,但現在我還有一個問題:
爲什麼
Observable.interval(1000).take(5).subscribe(x => console.log(x));
工作,即使沒有導入走?
我該如何將Observable投射到FirebaseListObservable?
你可以包含你用於'Observable'的'import'語句嗎? – cartant
我已經用示例演員更新了答案(以及我提到的原因)。在'rxjs'中使用'import {Observable};'你已經完整地導入了RxJs。我沒有解釋爲什麼這不會導致'take'(以及所有其他操作符)在AngularFire2可觀察對象中可用。這是一個謎。爲了達到它的底部,你需要包括所有'import'語句和版本等。如果我使用這個導入,我得到所有的操作符。 – cartant
@cartant:現在包含所有導入 –