2016-07-29 6 views
3

私はRxJSを学ぶ過程にあり、私は常に興味深い多くの演算子と組み合わせを試しています。いくつかのRxJSオペレータがangular2 CLIプロジェクトから欠落していますか?何をすべきか?

私はここでフォームを学習しています:http://reactivex.io/documentation/operators.htmlhereです。

私はAngular2 rc4 CLIプロジェクトを持っています。私はTypescriptを使用しています。 RxJSは次のとおりです。5.0.0-beta.6

問題:

私はいくつかの演算子が観察上に存在しないことがわかりました。例えば

:私はオブジェクトの一つのキーと値のペアずつ返すように観察を作成したい: 私はそれfrom here撮影したような実装は、どのように見えるかを確認することができます。ここ

// Using Standard JavaScript 
var obj = { 
    foo: 42, 
    bar: 56, 
    baz: 78 
}; 

var source = Rx.Observable.pairs(obj); 

var subscription = source.subscribe(
    function (x) { 
    console.log('Next: %s', x); 
    }, 
    function (err) { 
    console.log('Error: %s', err); 
    }, 
    function() { 
    console.log('Completed'); 
    }); 

// => Next: ['foo', 42] 
// => Next: ['bar', 56] 
// => Next: ['baz', 78] 
// => Completed 

しかし、私の編集者は次のようになります。this postに基づいてObservable.pairsため

enter image description here

なしIntelisense()..

enter image description here

Iました2つの輸入品を添付:

import {Observable} from "rxjs/Rx"; 
import 'rxjs/Rx'; // import all operators and stuff. it's not good practice i know, but only for this example 

と角度CLIが提供するよりも、rxjsのためのより多くのタイピングをインストールするためにしようと試みたが、動作していない:

typings install --save --ambient npm:rx/ts/rx.all.d.ts // Unable to resolve "npm:rx/ts/rx.all.d.ts" from "rx" 
or 
typings install rxjs // Unable to find "rxjs" ("npm") in the registry. 

そしてasloを使用するようにしようと試み:

import * as Rx form 'rxjs/Rx' 
myObjProperties$ = Rx.Observable.pairs(myObj) // still doesn't work, same error. 

そしてaslo、私が説明することはできませんObservableオブジェクトをコンソールに印刷するのがなぜうまくいかないのですか?私は役に立たないstring-functionを取得します。プロトタイプのものはありません。

console.log('TheAllmightyObservable : ', Observable) // i get: 

// TheAllmightyObservable : function Observable(subscribe) { 
     // this._isScalar = false; 
     // if (subscribe) { 
      // this._subscribe = subscribe; 
     // } 
    // } 

私は他の多くの事業者と同じ問題があります。ofObjectChanges、ofArrayChanges、ofWithSkeduler、ペア - そのうちのいくつかではないことが重要 - それはバグ私を、私は非常に有用である1つのRxJs演算子を発見し、私はangular2 CLIプロジェクトでは使用できません。

質問:RxJSに関係しているものをangular2

  1. ? (私は想像していない一般的な画像がありません..) - angular2-rxjs演算子の別のリストがありますか、RxJSは完全に分離されたパッケージで、Jqueryのように使用できますか?私は2間の有線の干渉を意味しません - それは私が予測することはできません。 (ダイジェストサイクルはおそらく?!)

  2. ここでは、angular2上で利用可能なすべてのRxJS演算子のリストを見つけることができます。

  3. これはTypescript型の問題ですか?もしそうなら、それらをインストールして、ドキュメント上で利用可能なすべての演算子を得る方法はありますか?タイピングが利用できない場合は、に一時的にを取り除くことがこの"no property/method found on x"の問題を解決しますか?

は、これに対する解決策を見つけることによって、読み、私を助けるために時間を割いてありがとうございました:)

+0

私は同じ問題を抱えていました(ここでは、http://stackoverflow.com/questions/38607203/angular-2-property-topromise-does-not-exist-on-type-observableresponse) 。まだ未回答です。私は角のギブスに問題を開いていますが、正しい解決策はまだ見つかりません。あなたがこれを解決することを願って –

答えて

5

ルート問題:あなたはRxJSのあるバージョンを使用しますが、別のドキュメントを見ています。角度2で使用

RxJS 5(ベータ版):https://github.com/ReactiveX/rxjs RxJS 4(安定的):https://github.com/Reactive-Extensions/RxJS

これらの事業者は、あなたがそれらを見ることができない理由は、新しいバージョンに存在しません。ご質問

1)RxJSあなたはAngular2なしRxJSを使用することができ、Angular2とは何の関係もありません。 RxJSはイベントストリームを作成するためのライブラリに過ぎず、にはイベントを生成するために使用するものと直角に動作します。

2)RxJS 4を使用している場合は、docsを使用するとかなり良いです。 RxJS 5はまだ進行中ですが、ビルドプロセスhereによって生成されたドキュメントがあります。

3)この場合はタイピングの問題ではありません。

関連する問題