2017-11-02 16 views
-1

Angular 5.0.0にアップグレードした後でimportステートメントにLettable Operatorsを使用しようとしていますが、このエラーが発生します。このコードブロックに障害が発生した場合Rxjs:lettable演算子でプロパティが見つかりません

ERROR in src/app/components/hero-detail/hero-detail.component.ts(32,8): error TS2339: Property 'switchMap' does not exist on type 'Observable<ParamMap>'. 

私はimport "rxjs/add/operator/switchMap"からimport { switchMap } from "rxjs/operators"

に変更:

ngOnInit(): void { 
    this.route.paramMap 
     .switchMap((params: ParamMap) => 
     this.heroService.getHero(+params.get("id")), 
    ) 
     .subscribe(hero => (this.hero = hero)); 
    } 

任意のアイデア?

+2

lettable演算子を間違って使用しています。パイプメソッドの内部で使用する必要があります。あなたの質問のリンクは例を示しています –

答えて

1

@ Jota.Toledoのおかげで、私はパイプを使ってコードブロックを書き換えました。ここに作業コードがあります。

ngOnInit() { 
    console.log(this.route.paramMap); 
    this.route.paramMap 
     .pipe(
     switchMap((params: ParamMap) => 
      this.heroService.getHero(+params.get("id")), 
     ), 
    ) 
     .subscribe(hero => (this.hero = hero)); 
    } 
関連する問題