これはデザインの観点です。
一般的には、アプリケーションのサイズが中〜巨大で、次にBehaviour Subject
またはReplay Subject
を使用して共有サービスを使用して他のコンポーネントにメッセージを送信する場合です。
また、より良いデザインは、ngrx
i:eでreduxをAngularで使用することです。 これには唯一の欠点は、あなたのアクションとレデューサーのために書く必要がある余分なコードですが、プラスは全てのロジックが還元世界でダムコンポーネントとして知られているコンポーネントから分離されていることです。いったん完了すると、いつでも状態を追跡するためにngrx dev tools
を使用する人生の節約者になります。また、コードをデバッグして追加する方法や発生するイベントやアクションを簡単に追跡できます。
あなたのアプリのサイズが小さい場合にのみ、あなたはスパゲッティコードに包まれた複数のネストされたコンポーネントのように、イベントエミッタに行くことをお勧めします。すべての発砲イベントを追跡することはできず、コードを書き直すことになります。
イベントエミッタ対シェアードサービスの詳細についてLINK。それには特別な質問があります。
ngrxの詳細LINKこのリンクでは、ngrx v2を使用します。
私はngrx V.4を使用して、小さなアプリに働いて、次ているが、同じgitのためのGitのレポで、作業example