2017-08-01 8 views
2

Router.routerState.snapshotを呼び出すとAngular2のActivatedRouteSnapshot.componentに参照/クラスが含まれていることがわかりますが、コンポーネントクラスの現在の(または最小の:作成済みの)インスタンスを取得する方法はありますか?Angular2のルータのアクティブなルートにあるコンポーネントのインスタンスを取得しますか?

Injector.get(..)コンポーネントのインスタンスを返さず、コンポーネントの新しいインスタンスを作成しても役に立たない(私)。

+0

あなたは何をやっているのかちょっと詳しく説明できますか?どこでコンポーネントクラスへの参照を取得したいですか?どのコンポーネントですか? –

+0

コンポーネントは(環境に応じて)時には 'true'に、時には' false'に設定されたプロパティー( 'showFooter')を持っています。これはRESTエンドポイントから受け取るデータに依存します。 falseの場合、 ''と ' 'を含むAppコンポーネントはフッターを表示または非表示にする必要があります。 – GreNodge

答えて

5

あなたは$eventは、コンポーネントのインスタンスであり、例えば世界的にそれが利用できるようにするサービスに割り当て

<router-outlet 
    (activate)='onActivate($event)' 
    (deactivate)='onDeactivate($event)'></router-outlet> 

を使用することができます。

あなたはまた、自動的にそれを行うカスタム<router-outlet>コンポーネントを作成することができhttps://angular.io/api/router/RouterOutlet

も参照してください。

+1

私にはうってつけの作品です。 :) – GreNodge

+0

嬉しいです:) –

関連する問題