Typescript - свойство сканирования не существует для типа Subject ...? - PullRequest
0 голосов
/ 23 мая 2018

Я не смог скомпилировать этот код в редакторе кода Visual Studio.Сначала я получил сообщение об ошибке типа has no exported member 'X', X for BehaviorSubject, Subject.Итак, я изменил операторы импорта следующим образом:

import { BehaviorSubject } from 'rxjs';
import { Subject } from 'rxjs';

, из-за которого ошибка импорта исчезла.Но теперь я получаю следующую ошибку, пытаясь скомпилировать ее с помощью команды tsc:

imagetsc .\06b-rx-store.ts on cmd.">

Я изменил emit на next, что решило property 'emit' does no existошибка.Но ошибка property 'scan' does not exist все еще существует.Что я считаю связано с настройками в файле .json.Но я не могу понять, какие настройки следует изменить.

Итак, что мне здесь не хватает?Буду признателен за любую оказанную помощь.Если вы получите код для компиляции, не могли бы вы описать, как вы это сделали.

1 Ответ

0 голосов
/ 23 мая 2018

emit - это метод, специфичный для Angular EventEmitter, который в настоящее время зависит от RxJS Subject.

Поскольку EventEmitter был специальноразработан для обработки изменений, не рекомендуется использовать в качестве объекта общего назначения в приложениях Angular.

EventEmitter emit - это обертка над объектом Subject next, поэтому emit следует заменитьс next.

scan оператор должен быть импортирован с:

import 'rxjs/add/operator/scan';

И это уже сделано в связанном коде.

...