Свойство «combineLatest» не существует для типа «typeof Observable»

Я пытаюсь добавить функцию InstantSearch на свой сайт. Я использую Angular 12.2 и работаю с базой данных firestore с индексом «book-data». Я использую следующий код в своем поисковом компоненте:

      import { Component, OnInit } from '@angular/core';
import { AngularFirestore } from 'angularfire2/firestore';
import { Subject } from 'rxjs';
import { Observable } from 'rxjs';

@Component({
  selector: 'app-search',
  templateUrl: './search.component.html',
  styleUrls: ['./search.component.css'],
})
export class SearchComponent implements OnInit {
  searchterm: string;

  startAt = new Subject();
  endAt = new Subject();

  titel;

  startobs = this.startAt.asObservable();
  endobs = this.endAt.asObservable();

  constructor(private afs: AngularFirestore) {}

  ngOnInit() {
    Observable.combineLatest(this.startobs, this.endobs).subscribe((value) => {
      this.firequery(value[0], value[1]).subscribe((titel) => {
        this.titel = titel;
      });
    });
  }

  search($event) {
    let q = $event.target.value;
    this.startAt.next(q);
    this.endAt.next(q + '\uf8ff');
  }

  firequery(start, end) {
    return this.afs
      .collection('book-data', (ref) =>
        ref.limit(4).orderBy('auflage').startAt(start).endAt(end)
      )
      .valueChanges();
  }
}

Я импортировал Subject и Observable из Rxjs, также в app-module.ts. Я также пытался получить combLatest из rxjs/Rx и установил rxjs-compat, но всякий раз, когда я это делаю, элемент combLatest в коде перечеркивается, и я больше не могу запускать angular с помощью ng serve --open.

Я благодарен за любые дальнейшие предложения :)

1 ответ

Я использую combLatest как отдельную функцию в своем коде. Возможно, вы должны использовать его следующим образом:

      import {combineLatest} from 'rxjs';
combineLatest([...yourObserableList]);
Другие вопросы по тегам