2016-08-21 5 views
0

私は2つのコンポーネントにそれぞれ独自のEventEmitterを持つAngular 2でアプリケーションを作成しています。 1つのEventEmitterは、チェックボックスの束がオン/オフされ、検索キーワードが入力されると他のイベントが発生すると起動します。検索バーはヘッダコンポーネントにあり、チェックボックスは異なるコンポーネントにあります。Angular 2は2つのEventEmitterを結合します

私はこれらを個別にキャッチすることができますが、私はそれらのデータをURLパラメータに組み合わせたいと思っています。例えば

http://localhost:4200;data=a123,b345,c678;q=searchkeyword

データ値は、チェックボックスと検索バーからqから来る必要があります。

別に提供されているURLパラメータデータとキーワードを追加する方法が見つからないようです。

誰かが私にこれを行うべきであると私に提案してもらえますか?

答えて

0

あなたが両方のイベントが発生するのを待つ必要があることを意味する場合は、私はobservableを使用することをお勧めします。ジップオペレーター: http://reactivex.io/documentation/operators/zip.html

+0

どちらのイベントも、異なる時刻に発生する可能性があります。しかし、彼らはお互いを無効にする必要はありません。一方のイベントは 'data'値を送り、他方は' searchkeyword'を送ります。その値に基づいてURLを構築する必要があります。 たとえば、2つのチェックボックスをオンにすると、URLが変更されます。その後、検索フィールドにキーワードを入力します。これもURLに追加する必要があります(チェックボックスで設定した値を上書きしないでください)。私はこれが少し質問をより明確にすることを願っています:) – Hassan

+0

したがってobservablesの使用はまさにあなたが必要とするものです。 リストアしたいantイベントを観測可能にするには、 merge演算子を使用してすべてのイベントを購読します。 http://reactivex.io/documentation/operators/merge.html マージはあなたによく合い、その後はジップです。 – almog

+0

Ok @almog、私はそれを読んでくれます - ありがとう! – Hassan

関連する問題