Модуль read.ts(6133) ‘»../../../node_modules/rxjs/observable/combineLatest»‘ не имеет экспортированного элемента ‘combineLatest’.ts(2305)

#javascript #html #angular #rxjs

#javascript #HTML #угловой #rxjs

Вопрос:

Как объединить наблюдаемые с помощью combineLatest . combineLatest не определен

Я использую angular js 7. Я хочу ограничить строковый параметр запроса, но когда я напишу obserable.combinelaste([]), он выдаст ошибку.

 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:

Вы импортируете неправильно. Вы использовали импорт для RXJS версии 5.

Для RxJS версии 6 вы должны использовать этот импорт :

 import { combineLatest } from 'rxjs';
  

Для устранения следующего сообщения об ошибке :

ngOnInit() { Observable.combineLatest([ this.rout.paramMap, this.rout.Параметр запроса ]); Свойство ‘combineLatest’ не существует для типа ‘typeof Observable

Вы можете использовать combineLatest следующим образом :

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

И вам, вероятно, придется потратить некоторое время, чтобы прочитать, как его использовать: https://www.learnrxjs.io/operators/combination/combinelatest.html

Комментарии:

1. когда я добавлю это, то покажу ngOnInit() { Observable.combineLatest([ this.rout.paramMap, this.rout. Параметр запроса ]); Свойство ‘combineLatest’ не существует для типа ‘typeof Observable

2. Я также использую angular js7