首页 > 解决方案 > 无法通过导航()加载子模块

问题描述

app-routing.module.ts 文件中定义了一个“布局”路径,我正在尝试通过以下方法加载此子模块(在 auth.component.ts 中定义)----- this.router.navigate([ '/布局']);

为什么我无法加载子模块?

代码

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import {AuthComponent} from './auth/auth.component';
import {LayoutModule} from './layout/layout.module';
 const appRoutes: Routes = [
{ path: 'auth', children: [
  {path: '', redirectTo: 'login', pathMatch: 'full'},
  { path: 'login', component: AuthComponent}
 ]},
{ path: 'layout', loadChildren:() => LayoutModule},
];
  @NgModule({
  imports: [RouterModule.forRoot(appRoutes)],
   exports: [RouterModule]
})
export class AppRoutingModule { }

标签: angularlazy-loading

解决方案


动态导入应该返回一个带有路径的函数,并将返回一个带有模块的承诺,它应该如下所示:

{ path: 'layout', loadChildren:() => import{'./layout/layout.module')
.then(m => m.LayoutModule)},

推荐阅读