默认路由模块会与其他所有模块一起加载

时间:2019-09-06 11:29:23

标签: angular typescript lazy-loading angular-router

我已将我的延迟加载的Home模块设置为空路径。但是现在的问题是,每当我尝试加载不同的模块时,例如通过其URL(例如/ new / auth)登录,home模块也将随之加载。

const routes: Routes = [
  {
    path: '', component: MainLayoutComponent,
    children: [
      {
        path: '',
        loadChildren: './homepage/homepage.module#HomepageModule'
      },
      {
        path: 'new/auth',
        loadChildren: './auth/auth.module#AuthModule'
      },
    }
 }

由于我使主页模块延迟加载,因此我希望主页模块只能在空路径上加载。但是每条路线都会加载它。

我检查了所有地方,例如应用程序模块或任何其他根模块,并且没有导入主模块。

1 个答案:

答案 0 :(得分:2)

children数组中项目的顺序很重要。

尝试

const routes: Routes = [
  {
    path: '', component: MainLayoutComponent,
    children: [
     {
        path: 'new/auth',
        loadChildren: './auth/auth.module#AuthModule'
      },
      {
        path: '',
        loadChildren: './homepage/homepage.module#HomepageModule'
      },
    }
 }