2017-09-01 4 views
2
  1. EventEmitterはRxJS観測可能ですか?
  2. 角度のドキュメントでは、EventEmitterを使用して 子コンポーネントから親コンポーネントに通信する方法を説明しています。我々はコンポーネント内でのみ EventEmitterを使用するか、または角度サービス も使用できますか?
  3. 角のドキュメントでは、 observables RxJS Subjectを使用する共有サービスを介して、親と子がどのように通信するかについて説明しています。このMissionServiceの例で、RxJS Subjectの代わりにEventEmitterを使用できますか?サービス内でEventEmitterをまったく使用できる場合は、この例をEventEmitterに変換してください。私は新しい角度になっています。イベントサービスのEventEmitterまたはRxJS件名

    https://angular.io/guide/component-interaction#parent-and-children-communicate-via-a-service

私は少しこれらの関連記事を読んだ後に困惑している:

+0

[Angular 2 Event Emitters vs Subject]の可能な複製(https://stackoverflow.com/questions/40238549/angular-2-event-emitters-vs-subject) – estus

答えて

0

イベントシナリオのを処理するためのさまざまな方法があります。

EventEmitterは、子イベントを親に通知する最も一般的な方法です。あなたが親でクリックされたイベントをお勧めします、あなたは子コンポーネントを作成し、そこにボタンをクリックしたと言う:

<button (click)="clickEmitter.emit()">button</button>

<child-component (clickEmitter)="buttonClicked()"></child-component> 

シェアードサービス(注射)は、複数のコンポーネントのデータを格納するために使用することができます。

SubjectとBehaviorSubjectを使用して、コンポーネント間でイベントを共有することができます(共有サービスを介して行われることもあります)。たとえば、私は内部にユーザーBehaviorSubjectを持つauthServiceを使用して、すべてのコンポーネントのログインユーザーオブジェクトを取得しました。

これは、他の多くのユースケースの中の単純な例です。

関連する問題