我正在尝试使用RxJS学习反应式编程。我试图使用 Observable.from()方法从数组中创建一个observable,但我收到一个错误 - ' 属性'来自&#39 ;在类型' typeof Observable' 上不存在。
我使用Angular CLI构建了一个Angular应用程序,因此所有依赖项(包括RxJS包)都已正确导入。
在 app.component.ts 中,我添加了以下导入语句:
import { Observable} from 'rxjs/Observable'
import 'rxjs/observable/from'
我的AppComponent类看起来像这样:
export class AppComponent {
numbers: number[] = [1, 2, 3, 4, 5];
callMyObservable() : void {
Observable.from(this.numbers);
}
}
但是我得到了上面提到的编译时错误。
我不知道如何让它发挥作用......需要帮助!
谢谢, 迪帕克
答案 0 :(得分:39)
如果您正在使用rxjs> = 6.0.0,则不再使用Observable.from
。相反,from
是一个独立的函数。
import { Observable, from} from 'rxjs';
//old way
var o = Observable.from([1, 2, 3, 4]);
//new way
var o = from([1, 2, 3, 4]);
我希望这会有所帮助,因为花了我一段时间才弄清楚。
答案 1 :(得分:17)
更改
import { Observable} from 'rxjs/Observable'
import 'rxjs/observable/from'
要
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/from';