Angular4如何以急切的方式加载模块

时间:2017-10-14 21:05:49

标签: angular

在Angular4中,您可以使用loadChildren的路由配置中的pathToMyModule#MyModule属性延迟加载模块。我想知道是否有任何属性我可以指定总是加载我的模块(所以基本上禁用延迟加载)。

1 个答案:

答案 0 :(得分:2)

导入启动应用程序时引导模块中的所有模块。通常它被称为AppModule。这是默认方式。然后不要使用loadChrildren。模块应相互导入层次结构,然后急切导入所有模块。

@NgModule({
    imports: [
       AppRoutingModule,
       LoginModule,
       //here you should import all other modules, or other the modules should import each other hierarchically
    ],
    declarations: [
       AppComponent      
    ],
    bootstrap: [AppComponent] 
})

export class AppModule { 

}

@NgModule({
    imports: [
        RouterModule.forRoot([
         {path: '', component: SomeComponent}     
   ],
   exports: [
        RouterModule
    ]
})
export class AppRoutingModule {
}




@NgModule({
    imports: [
        LoginRoutingModule
    ]
})
export class LoginModule {
}


@NgModule({
  imports: [
    RouterModule.forChild([
      {
        path: 'login',
        children: [
          {path: '', pathMatch: 'full', redirectTo: 'somepath'},
          {path: 'somepath', component: SomeOtherComponent}, 
        ]
      }

    ])
  ],
  exports: [
    RouterModule
  ]
})
export class LoginRoutingModule {
}