为Lazy加载模块制作通用模块

时间:2018-03-29 20:27:13

标签: angular lazy-loading

我需要知道的是,如何定义常用的模块或者我们可以说所有其他子模块使用的整个应用程序的全局。 这里如果我使用延迟加载,我必须再次将所有依赖项写入我的所有子模块。我该如何避免这种情况,只在app.module.ts文件中定义它。

让我们说我想在所有儿童模块中使用Toaster。我必须将ToasterModule包含到所有子模块中。

如何避免这种情况,只将其包含在主模块中并在所有子模块中使用它?

1 个答案:

答案 0 :(得分:0)

你必须在app模块中导入Toaster模块并将其导出到app模块中然后你可以在每个地方使用它

@NgModule({
  imports: [     
    ToasterModule       
  ],
  declarations: [      
  ],
  exports:[
    ToasterModule
  ],
  providers: [ ],
  bootstrap: [ AppComponent ]
})
export class AppModule { }

你也可以制作通用模块并将其导出为

@NgModule({
      imports: [     
        ToasterModule,
        ----        
      ]     

    })
    export class CommonModule { }

并将其导入并导出到app模块

@NgModule({
      imports: [     
        CommonModule        
      ],
      exports:[
        CommonModule
      ],
      providers: [ ],
      bootstrap: [ AppComponent ]
    })
    export class AppModule { }