如何解决以下错误?

Noo*_*ber 2 rxjs typescript angularfire2 angular rxjs6

我根据rxjs 6文档编写了以下代码。我目前正在运行angular 5,rxjs 6和angularfire2 rc.10。我得到的错误是

[ts] property 'pipe' does not exist on type 'OperatorFunction<{}, [{}, user, string]>'.
Run Code Online (Sandbox Code Playgroud)

这是代码

this.companies$ = combineLatest(this.authService.user$, this.filter$).pipe(
  switchMap(([user, filter]) =>
    this.afs.collection("companies", ref => {
        if (user) {
          ref.where("owner.network", "==", user.activeNetworkProfile.id);
        }
        if (user) {
          ref.where("name", "==", filter);
        }
        return ref;
      }).valueChanges()
  )
);
Run Code Online (Sandbox Code Playgroud)

this.authService.user $和this.filter $是可观察的。

public filter$: Observable<string>;
public user$ : Observable<User>;
Run Code Online (Sandbox Code Playgroud)

Way*_*rer 7

您没有显示导入语句,但是从错误消息的外观来看,您似乎正在导入错误的combineLatest函数。

RxJS6具有两个combineLatest功能:

  • 管道运算符: import {combineLatest} from 'rxjs/operators'
  • 创建方法: import { combineLatest } from 'rxjs'

您正在使用创建方法,因此导入应'rxjs'从而不是从进行'rxjs/operators'