我在用Rxjs
in an angualr-cli
应用。
在viewer.component.ts中
//Other Imports
import { Observable } from 'rxjs/Observable';
//omitting for brevity
export class ViewerComponent implements OnInit, AfterViewInit, OnDestroy {
someFunction(someArg){
//omitting for brevity
let someArray: any = [];
//Add some info
Observable.forkJoin(someArray).subscribe(data => {
//Do something with data
});
}
//omitting for brevity
}
我得到并错误为
ERROR TypeError: __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__.Observable.forkJoin is not a function
at ViewerComponent.webpackJsonp../src/app/component/viewer.component.ts.ViewerComponent.someFunction(http://localhost:4200/main.bundle.js:4022:73)
at http://localhost:4200/main.bundle.js:3951:31
但如果我导入Rxjs
完全地 (import 'rxjs';
)一切正常。没有错误。
我似乎无法理解还需要什么。
我也尝试过导入rxjs/Observable/forkjoin
但没有什么用处。
有关如何解决此问题的任何指示。
正如所解释的here https://github.com/ReactiveX/RxJS#es6-via-npm,您有两个选择:
- 将所有运算符作为单个包导入
- 或者单独导入每个运算符
在第一种情况下,您将像这样使用导入:
import Rx from 'rxjs/Rx';
Rx.Observable.forkJoin(1,2,3)
在第二个这样的情况下:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/forkJoin';
我相信您正在寻找的是第二种选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)