本文介绍了Rxjs:带有可出租运营商的缺少属性错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用可操作的操作符升级到Angular 5.0.0后,在我的import语句中,出现此错误.

I'm trying to use Lettable Operators in my import statement after upgrading to Angular 5.0.0 and I get this error.

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"

如果在此代码块上失败:

If fails on this code block:

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

有什么想法吗?

推荐答案

感谢@ Jota.Toledo,我使用管道重写了代码块.这是工作代码.

Thanks to @Jota.Toledo, I rewrote the code block using pipe. Here is the working code.

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

这篇关于Rxjs:带有可出租运营商的缺少属性错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-24 10:50