名前付きルーターアウトレット内に2つの子ルートを同時に開こうとしています。これにより、私はrouter outlet A
に常にコンテンツ固有のコンポーネントで埋められるようになります。 login
。Angular 2+で複数のルートを一度に有効にする
第2のrouter outlet B
は、ルート構成で与えられたdata {...}
を処理する再利用可能なコンポーネントを持ちます。 (それでも特定のルートに依存します)。
これは、その経路/login
レイアウトフレームとしてFrameComponent
を使用して、router outlet control-strip
にrouter outlet view
一つに一つのコンポーネントをロードする必要が意味します。
マイFrameComponent
のレイアウトは現在、次のようになります。
<router-outlet name="view"></router-outlet>
<router-outlet name="control-strip"></router-outlet>
と私のルータの設定は次のようになります。
...
{
path: 'login',
component: FrameComponent,
canActivate: [ UIGuard, hasInternetConnection, authLoggedOutService ],
data: {
navigationBack: true
},
children: [
{
path: '**',
component: LoginEmailComponent,
outlet: 'view'
},
{
path: '**',
component: ControlStripComponent,
outlet: 'control-strip'
}
]
},
...
私が直面してる問題は、ルータの設定がオンに停止していることです最初のヒットであるため、/login/**
がtrueで、ControlStripComponentは決してタッチされません。
はい、しかし、これはどこかのコードが次のルートが何であるかを決定することを意味し、これらはindep終わり。私はしかし、すべてのルートが毎回ロードされる2つの特定のコンポーネントを持つことを望みます。これらの2つのルートは、常に同じ方法でリンクされています。これは実際にはきれいなソリューションのようには見えません。もちろん、すべての親ルート上で動作するコードを作成し、一貫性のある名前を持つサブ/コントロールストリップを起動します。 –
2つのコンポーネントがリンクされている場合は、ルートの代わりにネストされたコンポーネントを使用できますか? – DeborahK
その問題は、通常のネストされたコンポーネントを介してデータやパラメータを送信できないことです。 –