Typescript 类型错误:observable.of不是函数-角度-cli@1.6.3 - rxjs@5.5.x-角度5
升级到angular后-cli@1.6.3将所有RxJS导入、方法和运算符转换为新的>5.5形式,我在运行时得到一个类型错误,表示Observable.of不是函数。对于定义为Observable扩展的成员的所有方法,例如Observable.fromEvent,都会发生相同的错误 另一方面,定义为独立函数的方法(如Observable.CombineTest)可以正常运行,尽管编译器警告Observable类型上不存在这些方法 只是澄清一下,在将它们转换为管道形式后,我与任何操作员都没有问题。只有方法 我找到的解决方案是替换:Typescript 类型错误:observable.of不是函数-角度-cli@1.6.3 - rxjs@5.5.x-角度5,typescript,rxjs5,angular5,Typescript,Rxjs5,Angular5,升级到angular后-cli@1.6.3将所有RxJS导入、方法和运算符转换为新的>5.5形式,我在运行时得到一个类型错误,表示Observable.of不是函数。对于定义为Observable扩展的成员的所有方法,例如Observable.fromEvent,都会发生相同的错误 另一方面,定义为独立函数的方法(如Observable.CombineTest)可以正常运行,尽管编译器警告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');
与
但我认为这应该是一个更好的方法。我说得对吗
注:
我被迫使用提前编译功能来构建和服务应用程序,因为否则角度注入器将失败,但这是另一个问题。
我意识到了这个问题的存在。但根据答案,这适用于小于5.5的RxJS版本。
ng-版本给出:
角度CLI:1.6.3,
节点:8.9.1,
操作系统:win32 x64,
角度:5.1.3
@角度/cli:1.6.3,
@角度开发套件/构建优化器:0.0.36,
@角度devkit/核心:0.0.22,
@角度devkit/示意图:0.0.42,
@ngtools/json模式:1.1.0,
@ngtools/网页包:1.9.3,
@示意图/角度:0.1.11,
@示意图/示意图:0.0.11,
打字稿:2.5.3,
网页:3.10.0
当使用现在称为管道操作符和工厂函数的可出租函数时,这些只是函数,而不是可观察的方法。所以应该是这样
import { of } from 'rxjs/observable/of';
import { fromEvent } from 'rxjs/observable/fromEvent';
const x = of(true, false);
const y = fromEvent(target, 'click');
查看如何使用范围工厂函数。当使用现在称为可管道运算符和工厂函数的可出租函数时,这些只是函数,而不是可观察的方法。所以应该是这样
import { of } from 'rxjs/observable/of';
import { fromEvent } from 'rxjs/observable/fromEvent';
const x = of(true, false);
const y = fromEvent(target, 'click');
请参见如何使用范围工厂功能