나는 내 것을 가지고있다.app-routing.module.ts다음과 같이:
import { NgModule } from '@angular/core';
import {
Routes,
RouterModule
} from '@angular/router';
const routes: Routes = [
{
path : 'reset',
loadChildren: 'app/auth/reset-password-form/reset-password-form.module#ResetPasswordFormModule'
},
{
path : 'verify',
loadChildren: 'app/auth/verify-user-form/verify-user-form.module#VerifyUserFormModule'
},
{
path : '404',
loadChildren: 'app/route-not-found/route-not-found.module#RouteNotFoundModule'
},
{
path : '',
pathMatch : 'full',
loadChildren: 'app/landing-page/landing-page.module#LandingPageModule'
},
{
path : '**',
redirectTo: '/404'
},
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {
}
탐색 할 때localhost:4200,landing-page.module그러나, 내가 들어 왔을 때 제대로localhost:4200/reset또는localhost:4200/verify또는localhost:4200/404, 관련 모듈을로드하지 않고 대신로드합니다.landing-page.module자동으로
이 문제를 어떻게 해결할 수 있습니까?
하위 모듈에 경로를 추가해야합니다.
const routes: Routes = [
{ path: '', component: ResetComponent}
];
const ROUTES: ModuleWithProviders =
RouterModule.forChild(routes);
하위 모듈 (ResetModule)의 ROUTES 가져 오기
@NgModule({
imports: [
CommonModule,
ROUTES,
],
declarations: [ResetComponent],
exports: [ResetComponent]
})
이 문제는 가져 오기에서 추가 한 가져 오기 (AppModule (또는 다른 모듈 파일)의 []) 때문에 발생할 수 있습니다.
지연 배열 모듈을 가져 오기 배열에서 모두 제거해야합니다.
예 : HomeModule, ProfileModule 및 SettingsModule이라는 세 개의 모듈이 있습니다. HomeModule이 eagarly로로드되어 있고 ProfileModule과 SettingsModule이 지연로드되어있는 경우 가져 오기 : AppModule (app.module.ts)의 []는 다음과 같아야합니다.
import : [HomeModule]이며 런타임 중에 자동으로로드되기 때문에 ProfileModule 또는 SettingsModule을 포함하면 안됩니다.