【问题标题】:'Error' message: 'Property 'from' does not exist on type 'typeof Observable''错误'消息:'类型'typeof Observable'上不存在'属性'来自'
【发布时间】:2018-04-10 17:11:19
【问题描述】:

我正在尝试使用 RxJS 学习响应式编程。我试图使用 Observable.from() 方法从数组中创建一个可观察对象,但出现错误:

“typeof Observable”类型上不存在属性“from”

我使用 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);
  }
}  

但是我得到了上面提到的编译时错误。

我不知道如何使它工作。

【问题讨论】:

标签: angular typescript rxjs observable angular2-observables


【解决方案1】:

改变

import { Observable} from 'rxjs/Observable'
import 'rxjs/observable/from'

import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/from';

【讨论】:

  • 宾果游戏!!!非常感谢@Sajeetharan。是否有任何官方文档告诉确切的树为操作符和可观察函数找到正确的导入?
  • 我想通了。只需在“rxjs”上按F12即可显示相关的导入路径。
  • 抱歉我没有注意到你的评论,如果你使用的是vscode,它也会显示
  • 现在显示:Module '"G:/learning-rxjs/node_modules/rxjs/Observable"' has no exported member 'Observable'.
  • 然后我得到错误 TS2307: 找不到模块 'rxjs'。
【解决方案2】:

如果您使用 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]);

我希望这会有所帮助,因为我花了一段时间才弄清楚。

【讨论】:

  • 接受的答案不像过去那样经得起时间的考验!不错的一个
  • @Beanwah geesh...希望 Rxjs 不会像风一样改变,fromPromise,from,Observable.from,只是来自它自己...让你下定决心>.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 2018-11-25
  • 2019-06-30
相关资源
最近更新 更多