错误rxjs_Observable __.Observable.forkJoin不是函数?

Ank*_*esh 13 fork-join rxjs5 angular-cli angular

我正在使用Rxjs中的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
    }  
Run Code Online (Sandbox Code Playgroud)

我得到了错误

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
Run Code Online (Sandbox Code Playgroud)

但如果我Rxjs完全导入(import 'rxjs';)一切正常.没错.我似乎还明白了什么是必要的.我也尝试导入rxjs/Observable/forkjoin但没有任何可用的.

关于如何解决这个问题的任何指示.

Max*_*kyi 29

正如解释在这里,你有两个选择:

  1. 将所有运算符作为单个包导入
  2. 或单独导入每个操作员

在第一种情况下,您将使用如下导入:

import Rx from 'rxjs/Rx';

Rx.Observable.forkJoin(1,2,3)
Run Code Online (Sandbox Code Playgroud)

在第二个像这样:

import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/forkJoin';
Run Code Online (Sandbox Code Playgroud)

我相信你正在寻找的是第二种选择.