Невозможно использовать операторы фильтра rxjs в angular4

Я пытаюсь использовать фильтр в угловых 4, это мой код

import { Component, OnInit } from '@angular/core';
import { range } from 'rxjs/observable/range';
import { map, scan, filter, tap } from 'rxjs/operators';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html'
})
export class AppComponent implements OnInit {  

  ngOnInit(){
    this.rxjs();
  }
  rxjs(){
    const source$ = range(1, 10);

    source$.pipe(
      filter(n => n % 2 !== 0), 
      tap(n => console.log('filtered value: ' + n)),
      map(n => n * n),
      tap(n => console.log('squared value: ' + n)),
      scan((acc,s) => acc + s, 0)
    )
    .subscribe(v => console.log(`sum of squared values : ${v}`));    
  }    
}

это моя угловая версия, которую я узнал с помощью команды ng --version

@angular/cli: 1.4.10
node: 8.9.1
os: win32 x64
@angular/animations: 4.4.7
@angular/common: 4.4.7
@angular/compiler: 4.4.7
@angular/core: 4.4.7
@angular/forms: 4.4.7
@angular/http: 4.4.7
@angular/platform-browser: 4.4.7
@angular/platform-browser-dynamic: 4.4.7
@angular/router: 4.4.7
@angular/cli: 1.4.10
@angular/compiler-cli: 4.4.7
@angular/language-service: 4.4.7
typescript: 2.3.4

но когда я компилирую, я получаю такую ​​ошибку

ОШИБКА в E:/angular-mock/routes/src/app/app.component.ts (19,19): левая часть арифметической операции должна иметь тип 'any', 'number' или тип enum,

может кто-нибудь помочь мне в том, что я делаю неправильно в этом

2 ответа

Вам необходимо установить RxJS для того, чтобы использовать эту библиотеку

$ npm i rxjs

Если вам нужна обратная совместимость для более старых проектов или зависимостей, которые не обновлены до версии 6, но также используйте Compact

$ npm i rxjs-compat

Прочитайте подробное руководство по миграции:

https://github.com/ReactiveX/rxjs/blob/master/docs_app/content/guide/v6/migration.md

Демо-версия:

$ npm i rxjs rxjs-compat

Смотрите также:

https://rxjs-dev.firebaseapp.com/

https://github.com/ReactiveX/rxjs

Хорошо я решил проблему, установив rxjs@6 и установив rxjs-compat@6 для обратной совместимости

npm install rxjs@6 rxjs-compat@6 - сохранить

Другие вопросы по тегам