私は、アプリケーションのルートレベルで子ルートが表示されている問題があります。Angular2の他のモジュールから子供をLazyloading
私のアプリは、SecureModuleとPublicModuleをインポートするルートアプリケーションモジュールで構成されています。その後、SecureModuleはProviderModuleとPracticeModuleをインポートします。各モジュールは、.forChild(それを除いて、forRootを定義するAppModuleを除く)を持つ独自のルートを定義します。何らかの理由で、すべてのデフォルトのパス(パスとして ''としてリストされているもの)は、ルートモジュールのモジュールレベルにあります。ここ
SecureComponentがセキュアエリアのレイアウトを定義し、それ自身のルータ出口を有する特徴成分(NOセレクタ)です。ルートツリーからわかるように、PracticeモジュールとProviderモジュールのパスは完全にレイアウトされています。しかし、PracticeモジュールとProviderモジュールもAppComponentからまっすぐに出てきます。
私はloadChildren経由で子パスを読み込み、デフォルトパスでpathMatchを完全に使用しているので、なぜルートコンポーネントに接続しているのかわかりません。
マイセキュアモジュールルートは、例えば次のように定義される:
export const secureRoutes = [
{
path: 'secure', component: SecureComponent, children: [
{ path: '', redirectTo: 'firstuse', pathMatch: 'full' },
{ path: 'firstuse', component: FirstUseComponent },
{ path: 'practice', loadChildren: './+practice#PracticeModule' },
{ path: 'provider', loadChildren: './+provider#ProviderModule' }
]
},
]。
私の練習ルートは次のように定義されています
export const practiceModuleRoutes = [
{ path: '', redirectTo: 'dashboard', pathMatch: 'full' },
{ path: 'dashboard', component: PracticeDashboardComponent },
{ path: ':id', component: PracticeViewerComponent }
];
私のアプリのルートは次のように定義されています
export const appModuleRoutes: Routes = [
{ path: '', redirectTo: 'public', pathMatch: 'full' },
{ path: 'public', component: PublicComponent },
{ path: 'id_token', redirectTo: 'secure' },
{ path: 'logoff', component: LogoffComponent },
{ path: 'Unauthorized', component: UnauthorizedComponent },
{ path: '**', component: NoContentComponent },
];
誰もがそれらの実践とプロバイダのデフォルトルートは、ルートアプリで提示されている理由についての考えを持っています成分?