アプリケーションのルーティングを作成しようとしています。私は私が置いたメインビューモジュールを持っています:
import { Route } from '@angular/router';
import { MainViewComponent } from './main-view.component';
export const MAINVIEW_ROUTE: Route = {
path: 'home',
component: MainViewComponent,
data: {
authorities: [],
pageTitle: 'home.title'
}
};
main-view.moduleでforChildメソッドも使用しています
imports: [CommonModule, RouterModule.forChild([MAINVIEW_ROUTE]), ChartsModule, MagDynoSharedModule, MatGridListModule]
私のapp-routing.modulingには、次のものがあります。
RouterModule.forRoot(
[
{ path: '', children: [
{ path: '', redirectTo: 'home', pathMatch: 'full'},
アプリは、このルーターアウトレットにmain-view.componentを表示しません。リダイレクトを使用せずに、別のモジュールがロードされます。
すでにMainViewModuleをAppModuleにインポートしている場合は、次のようにAppModuleRoutingを構成する必要があると思います。
RouterModule.forRoot(
[
{ path: '', redirectTo: 'home', pathMatch: 'full'}
];
その場合、MainViewRoutingModuleは次のようになります。
RouterModule.forChild([
{ path: 'home', component: MainViewComponent }
])
一方、遅延読み込みを実行する場合:https://angular.io/guide/lazy-loading-ngmodules
やったほうがいい:
AppModuleRouting
RouterModule.forRoot(
[
{ path: '', redirectTo: 'home', pathMatch: 'full'},
{ loadChildren: () => import('./modules/main-view.module').then(mod => mod.MainViewModule)}
];
次に、MainViewModuleRoutingは次のようになります。
RouterModule.forChild([
{ path: '', children: [
{ path: 'home', component: MainViewComponent }
]
]);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加