read.ts(6133)模块'“ ../../../node_modules/rxjs/observable/combineLatest”'没有导出的成员'combineLatest'.ts(2305)

时间:2019-04-20 09:46:33

标签: javascript html angular rxjs

如何通过CombineLatest合并Observable。未定义CombineLatest

我正在使用angular js7。我想添加两个查询字符串参数,但是当我编写obserable.combinelaste([])时,它将给出en错误。

import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Observable, of, observable } from 'rxjs'
import { combineLatest } from 'rxjs/observable/combineLatest';
@Component({
  selector: 'app-githubfollowers',
  templateUrl: './githubfollowers.component.html',
  styleUrls: ['./githubfollowers.component.css']
})
export class GithubfollowersComponent implements OnInit {

  constructor(private rout:ActivatedRoute ) { }

  ngOnInit() {
    Observable.combineLatest([  this.rout.paramMap,
  this.rout.queryParamMap

    ]);

    this.rout.paramMap.subscribe(prams=>{

    });
    this.rout.queryParamMap.subscribe(prams=>{

    });
  }

}

1 个答案:

答案 0 :(得分:1)

您导入错误。您将导入用于RXJS v5。

对于RxJS v6 +,您应该使用以下导入方式:

import { combineLatest } from 'rxjs';

要解决以下错误消息:

  

ngOnInit(){Observable.combineLatest([this.rout.paramMap,   this.rout.queryParamMap]);属性“ combineLatest”不存在   输入'typeof Observable

您可以像这样使用combineLatest

combineLatest(this.rout.paramMap, this.rout.queryParamMap)

您可能需要花一些时间来阅读如何使用它:https://www.learnrxjs.io/operators/combination/combinelatest.html