首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在特征模块中延迟加载角度材料

在特征模块中延迟加载角度材料
EN

Stack Overflow用户
提问于 2019-09-02 16:00:52
回答 1查看 1.5K关注 0票数 2

目前我有一个类似于下面的MyAngularModule

代码语言:javascript
复制
/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延迟加载)。

例如:

代码语言:javascript
复制
/features/data-grid/data-grid.module.ts

此模块将使用一些角度材料组件(例如,SpinnerModule),但不是全部。

其他功能模块将使用一些其他材料组件。

其中一些组件显然将在许多功能模块中使用。

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

EN

回答 1

Stack Overflow用户

发布于 2019-09-02 17:08:22

如果您希望只定义一次组件并在所有地方导入,那么可以创建一个shared.material.module并导入到所有需要它们的延迟加载组件中。

如果您的目标是加载尽可能少的模块,那么只需将所需的材料模块导入到每个lazy.module惰性组件中即可。

第三种选择是在中间的某个地方相遇,并拥有一个共同的材料模块核心,core.material.module,您可以导入到所有组件中,如果只有几个组件使用/不经常使用,则根据需要导入其他组件。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57753344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档