gpt4 book ai didi

javascript - Angular2 RxJS 得到 'Observable_1.Observable.fromEvent is not a function' 错误

转载 作者:IT王子 更新时间:2023-10-29 03:00:36 25 4
gpt4 key购买 nike

我正在使用 AngularJS 2 Beta 0,我正在尝试从窗口对象上的事件创建一个 RxJS Observable。我相信我知道在我的服务中将事件捕获为 Observable 的公式:

var observ = Observable.fromEvent(this.windowHandle, 'hashchange');

问题是每次我尝试运行这段代码时,我都会收到一条错误消息,指出“fromEvent”不是一个函数。

Uncaught EXCEPTION: Error during evaluation of "click"
ORIGINAL EXCEPTION: TypeError: Observable_1.Observable.fromEvent is not a function

这对我来说似乎意味着我没有正确处理我的 import 现在 RxJS 没有包含在 Angular 2 的构建中,尽管我的应用程序的其余部分正常运行,这对我来说意味着 RxJS 在它应该在的地方。

我在服务中的导入如下所示:

import {Observable} from 'rxjs/Observable';

虽然我也尝试过使用它(对代码进行适当的更改),但结果相同:

import {FromEventObservable} from 'rxjs/observable/fromEvent';

我的 Index.html 中有以下配置:

<script>
System.config({
map: {
rxjs: 'node_modules/rxjs'
},
packages: {
'app': {defaultExtension: 'js'},
'rxjs': {defaultExtension: 'js'}
}
});
System.import('app/app');
</script>

谁能告诉我哪里做错了?

最佳答案

绝对不需要一次导入所有操作符!您刚刚错误地导入了 fromEvent。你可以这样做:

import {Observable} from 'rxjs/Observable';
import 'rxjs/add/observable/fromEvent';

编辑:除了我已经写过的内容之外:使用 Angular 的 AoT 编译器进行摇树优化会根据您导入的内容删除未使用的代码。如果你只是从 rxjs/rx 导入一些对象或函数,编译器不能删除任何东西。始终只导入您需要的!

关于javascript - Angular2 RxJS 得到 'Observable_1.Observable.fromEvent is not a function' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34397162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com