Angular 在功能模块中延迟加载角度材质

Angular 在功能模块中延迟加载角度材质,angular,architecture,lazy-loading,angular-material2,angular-module,Angular,Architecture,Lazy Loading,Angular Material2,Angular Module,目前我有一个类似的MyAngularModule: /app/material/material.module.ts import { MatButtonModule, MatIconModule } from '@angular/material'; const MaterialComponents = [ MatButtonModule, MatIconModule, ... ]; @NgModule({ imports: [ MaterialComponents

目前我有一个类似的MyAngularModule:

/app/material/material.module.ts

import { MatButtonModule, MatIconModule } from '@angular/material';

const MaterialComponents = [
  MatButtonModule,
  MatIconModule,
...
];

@NgModule({
  imports: [
    MaterialComponents
  ],
  exports: [
    MaterialComponents
  ],
})
export class MyMaterialModule {

}
现在在AppModule中导入一次

目前我有一个扁平的模块架构,所有的加载都是迫不及待的

现在,我正在改变应用程序体系结构,使用loadChildren加载核心、共享和功能模块

例如

本模块将使用一些角材料组件,如喷丝头模块,但不是全部

其他功能模块将使用一些其他材料组件。 一些组件显然将用于许多功能模块中

问题是:我应该如何在功能模块中加载所需的材质组件?
MyMaterialModule是共享模块的子模块吗

如果只需定义一次组件并到处导入,则可以创建单个shared.material.module并导入到所有需要它们的延迟加载组件中

如果您的目标是加载尽可能少的模块,则只需将所需的精确材质模块导入每个lazy.module lazy组件即可

第三个选项将是在中间某个地方遇到,并有一个共同的核心材料模块,Ciel.Meal.Meod,您导入所有的模块,如果需要的话,只需由几个组件使用/不经常导入。

/features/data-grid/data-grid.module.ts