2016-05-13 6 views
2

で指示することなく、私は<router-outlet></router-outlet>外部へのルートの中からイベントを伝播する方法があるかどうかを知りたいです。イベント伝播はAngular2

シナリオは、我々はルートを持っているということのようですが& HomeComponentは、ルート・コンポーネントに何かについて通知する必要があり、ホームを言います。 App.componentの直接の子であれば、<home (eventName)="actionName()"></home>ディレクティブのHomeComponent &イベントバインディングでEventEmitterタイプの出力プロパティを使用できました。しかし、HomeComponentがルート内から使用されるため、そうではありません。

ルートコンポーネントへのルートからイベント伝播のための適切な方法を提案して私を助けてください。

答えて

5

あなたは(メッセージ・バスのように)通信するために送信側と受信側コンポーネントに注入された共有サービスを使用することができます。詳細はhttps://angular.io/docs/ts/latest/cookbook/component-communication.html

またはelement.dispatchEvent()を使用してバブリングイベントを発生させることができます。詳細は、https://developer.mozilla.org/de/docs/Web/API/EventTarget/dispatchEventを参照してください。

関連する問題