заводская функция.

обновления до [email protected] и преобразования всех импортов, методов и операторов RxJS в новую форму> 5.5 я получаю ошибку типа во время выполнения, говоря, чтоObservable.of это не функция. Та же ошибка происходит со всеми методами, которые определены как члены расширенияObservable, например,Observable.fromEvent.

С другой стороны, методы, которые определены как отдельные функции, такие какObservable.combineLatest работать правильно, несмотря на предупреждение компилятора о том, что они не существуют по типуObservable.

Просто чтобы уточнить, у меня не было проблем ни с одним оператором (после преобразования их в форму трубы). Только с методами.

Решение, которое я нашел, состояло в том, чтобы заменить:

import { of } from 'rxjs/observable/of';
import { fromEvent } from 'rxjs/observable/fromEvent';
...
const x = Observable.of(true, false);
const y = Observable.fromEvent(target, 'click');

с участием

import { ArrayObservable } from 'rxjs/observable/ArrayObservable';
import { FromEventObservable } from 'rxjs/observable/FromEventObservable';
...
const x = ArrayObservable.of(true, false);
const y = FromEventObservable.create(target, 'click');

Но я думаю, что это должно быть лучше. Я прав?

Примечания:

Я вынужден использовать функцию «Ahead Of Time compilation», чтобы создать и обслуживать приложение, потому что в противном случае угловой инжектор вышел бы из строя (но это другой вопрос).Я знаю о существованииэтот другой похожий вопрос, Но это относится к версиям RxJS меньше чем <5.5 в соответствии с ответом.

ng --version дает:

Angular CLI: 1.6.3, Node: 8.9.1, OS: win32 x64, Angular: 5.1.3,

@ angular / cli: 1.6.3, @ angular-devkit / build-optimizer: 0.0.36, @ angular-devkit / core: 0.0.22, @ angular-devkit / schematics: 0.0.42, @ ngtools / json-schema : 1.1.0, @ ngtools / webpack: 1.9.3, @ schematics / angular: 0.1.11, @ schematics / schematics: 0.0.11, машинописный текст: 2.5.3, webpack: 3.10.0,

Ответы на вопрос(1)

Ваш ответ на вопрос