属性“ from”在类型“ typeof Observable”上不存在。ts(2339)

时间:2019-03-28 06:36:59

标签: angular rxjs observable

以下代码应具有结果:

4

16

完成!

但是,VSC告诉我:Property 'from' does not exist on type 'typeof Observable'.ts(2339)

我不知道如何解决该问题。有人可以帮我吗?

/ 这些代码应该放在任何component.ts文件中,然后运行npm start在控制台中查看结果。 /

import { Observable } from 'rxjs'; 

constructor() {

    Observable.from([1,2,3,4]).filter(e => e%2==0) 
      .map( e => e*e) 
      .subscribe( e => console.log(e),
       error => console.error(error), 
       () => console.log("Done!") 
     ) 
}

2 个答案:

答案 0 :(得分:3)

直接导入from

import { from } from 'rxjs';

from([1,2,3,4])

https://www.learnrxjs.io/operators/creation/from.html

答案 1 :(得分:0)

rxjs 版本6+中,他们从from类中删除了Observable运算符。因此,现在您需要从rxjs导入并使用,而无需附加Observable类。

component.ts

import { Component } from '@angular/core';
import { from } from 'rxjs';
import { filter, map, } from 'rxjs/operators';
@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  name = 'Angular';
  description!: string;

  constructor() {


    from([1, 2, 3, 4])
      .pipe(
        filter((e: number) => e % 2 == 0),
        map(e => e * e)).subscribe(
          e => console.log(e),
          error => console.error(error),
          () => console.log("Done!")
        )
  }
}

Here is solution on stackblitz

希望这会有所帮助!