我的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
。
我该如何解决这个问题?
答案 0 :(得分:0)
您必须将路由添加到您的子模块
const routes: Routes = [
{ path: '', component: ResetComponent}
];
const ROUTES: ModuleWithProviders =
RouterModule.forChild(routes);
并导入子模块中的ROUTES(ResetModule)
@NgModule({
imports: [
CommonModule,
ROUTES,
],
declarations: [ResetComponent],
exports: [ResetComponent]
})
答案 1 :(得分:0)
由于您已在imports:[ ]
的{{1}}(或任何其他模块文件)中添加了导入,因此可能会出现此问题。
请确保从导入数组中删除所有延迟加载的模块。
例如:我有三个模块,分别为:AppModule
,HomeModule
和ProfileModule
。
如果SettingsModule
已被加载,并且HomeModule
和ProfileModule
被延迟加载,则SettingsModule
中的imports:[]
应该看起来像这样:
AppModule(app.module.ts)
,并且不应包含imports:[HomeModule]
或ProfileModule
,因为它们将在运行时自动加载。