2017-10-08 23 views
3

在我对Angular的探索中,我发现了两种可能的方式在另一个模块中使用一个模块。在模块中使用另一个模块:导入与在路由中使用loadChildren

(使用angular-express-starter project供参考)

  • 方法1: 声明它的imports阵列英寸For example

    @NgModule({ 
        declarations: [ 
        AppComponent 
        ], 
        imports: [ 
        BrowserModule, 
        SharedModule, 
        FormsModule 
        ] 
    }) 
    
  • 方法2: 使用loadChildren路由。 For example

    export const routes: Route[] = [ 
        { path: '', pathMatch: 'full', redirectTo: 'weather'}, 
        { loadChildren: 'app/dashboard/dashboard.module#DashboardModule', path: 'dashboard' }, 
        { loadChildren: 'app/profile/profile.module#ProfileModule', path: 'profile' }, 
        { loadChildren: 'app/weather/weather.module#WeatherModule', path: 'weather' } 
    ]; 
    

什么是这两种方法之间的实际差别?

回答

0

什么是这两种方法之间的实际差别?

的最大区别在于,通过loadChildren加载的模块将有自己的喷射器而从导入的模块提供者被合并成一个根注射器。这意味着您不能将延迟加载模块的提供者注入其他延迟加载的模块。

其他方面的差异:

  • 你不能使用loadChildren如果你在相应的路线导航到

不使用路由通过loadChildren加载

  • 模块才会被载入欲了解更多信息,请阅读

  • 相关问题