2017-03-28 61 views
2

升級到角4.0後,我得到RxJs變量的錯誤。一切都很好。但是,當我加載頁面我得到這個錯誤角4.0 Rxjs變量undefined

ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'forkJoin' of undefined TypeError: Cannot read property 'forkJoin' of undefined

,我在一個初始化函數使用forkJoin

init(){ 
    return Observable.forKJoin() 
} 

我輸入可觀察的頂部,它看起來像這樣

import {Observable,Observer,Subject,BehaviorSubject} from 'rxjs/Rx';

發生了什麼變化,會突然導致這些問題。我的代碼運行良好前4.0

+0

從'rxjs'導入forkJoin運算符 – Seiyria

+0

您真的從rxjs/Rx''導入嗎?該文件包括[運營商的所有副作用導入](https://github.com/ReactiveX/rxjs/blob/5.2.0/src/Rx.ts#L11-L141),所以你不應該有你所描述的問題。 – cartant

回答

0

rxjs有點「選擇你想要導入」的方法觀測。基本上它是一個裝飾器模式,您可以在其中導入基本Observable,然後導入所有想要它做的事情。除了導入可觀察到的,你還需要導入:

import 'rxjs/add/observable/forkJoin'; 

我通常有一個rxjs-operators.ts文件,我只是隨時導入我需要的任何東西。

舊版本的rxjs沒有這樣工作。我相信這是在v2的RC期間rxjs切換到這個模型的某個時候。

所有這些額外的導入都是rxjs包的一部分,所以你不需要下載任何新東西或添加任何東西到你的package.json來訪問它們。

+0

我正在使用rxjs 5.0.1您使用的是哪個版本。導入forkjoin似乎沒有用。錯誤導致我相信Observable由於某種原因未定義 – asqwrd

+0

我的package.json中有'^ 5.1.0' for rxjs。這是最新的angular-cli給我的版本。 –