簡體   English   中英

RxJS 已更新,“typeof Observable”類型上不存在“merge”屬性

[英]RxJS updated, Property 'merge' does not exist on type 'typeof Observable'

我更新了我的材料角度項目以在我的表格中包含一個可擴展的細節行。 為此,我需要升級到 rsjx 6。 現在我收到以下錯誤。 我對 angular 完全陌生,所以不幸的是我不知道如何解決這個問題。

Property 'merge' does not exist on type 'typeof Observable'.

任何人都可以幫助解決此錯誤嗎?

app.component.ts

 /** Connect function called by the table to retrieve one stream containing the data to render. */ connect(): Observable<Track[]> { // Listen for any changes in the base data, sorting, filtering, or pagination const displayDataChanges = [ this._exampleDatabase.dataChange, this._sort.sortChange, this._filterChange, this._paginator.page ]; this._exampleDatabase.getAllTracks(); return Observable.merge(...displayDataChanges).map(() => { // Filter data this.filteredData = this._exampleDatabase.data.slice().filter((track: Track) => { const searchStr = (track.id + track.title + track.artist + track.year + track.comment + track.path).toLowerCase(); return searchStr.indexOf(this.filter.toLowerCase()) !== -1; }); // Sort filtered data const sortedData = this.sortData(this.filteredData.slice()); // Grab the page's slice of the filtered sorted data. const startIndex = this._paginator.pageIndex * this._paginator.pageSize; this.renderedData = sortedData.splice(startIndex, this._paginator.pageSize); return this.renderedData; }); }

從版本 6 開始,靜態merge按以下方式導入:

import {merge} from 'rxjs'

然后將其用作:

merge(...)

在舊版本的rxjs您使用Observable.merge(...array).map(() => {}); . 對於新版本,即rxjs 6+,您必須使用以下語法:

import { merge } from 'rxjs';
import { map } from 'rxjs/operators';

merge(...array).pipe(
  map(...),
  ...
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM