2017-01-02 19 views
0

私のAngular 2プロジェクトでは、兄弟コンポーネントとイベントのやりとりが必要です。この記事ではstackoverflowに関するいくつかの質問に従って、最後に私は使用していますRXJS良好な解決策であるanswerに記載されているようなである。角2:兄弟コンポーネント間でイベントが発生する

しかし、次のような状況があります。 これは私のAppComponent htmlです。

<section class="app content-area"> 
    <fds-header></fds-header> 
    <router-outlet></router-outlet> 
</section> 

私は3コンポーネントAuthコンポーネントHomeComponentHeaderComponentを持っています。最初の2つのコンポーネントはアウトレットでレンダリングされ、最後のコンポーネントは独自の要素/セレクタfds-headerを持ちます。したがって、コンセントにレンダリングされるコンポーネントはすべて、HeaderComponentの兄弟です。 HeaderComponentログアウトボタンがあり、ログアウト機能はAuthComponentにあります。私はHeaderComponentからイベントを発信し、AuthComponentにキャッチします。問題が一つだけの加入者があるのでAuthコンポーネントは動作しませんので、ログアウト作成されていないこの時間は、ユーザが正常にその後、ログイン、私はページのアプリケーションが再初期化されてリフレッシュすると、彼はHomeComponentへとHomeComponentにリダイレクトされ、ときでありますin AuthComponentこれは利用できません。だから私の質問は、このシナリオをどうやって処理できるのかということです

答えて

1

サインインにはコンポーネントが必要ですが、コンポーネントを必要とせずにサービスコールを使用してサインアウトすることができます。

このようなシナリオでは、サブスクライバーはAuthComponentではなく、AuthServiceになり、ログアウトの最後に再びログインページに移動します。

関連する問題