【发布时间】:2019-07-18 02:45:31
【问题描述】:
我意识到大多数代码示例在一个模块中导入材料模块组件并将其导入到任何地方使用,如下所示;
import { NgModule } from '@angular/core';
import {
MatButtonModule,
MatMenuModule,
MatToolbarModule,
MatIconModule,
MatCardModule
} from '@angular/material';
@NgModule({
imports: [
MatButtonModule,
MatMenuModule,
MatToolbarModule,
MatIconModule,
MatCardModule
],
exports: [
MatButtonModule,
MatMenuModule,
MatToolbarModule,
MatIconModule,
MatCardModule
]
})
export class MaterialModule {}
但是想象一下,我只想在一个模块中使用 MatMenuModule,而其他模块可能不需要它,或者 3. 模块可能不需要第一个和第二个需要的组件,使用材料或其他共享模块的最佳做法是什么元素部分在其他模块中,为什么不在应用模块中导入和导出材料模块而不是到处导入?
【问题讨论】:
-
如果您担心未使用的材料模块,可以将材料模块单独导入您的模块之一。对我来说,像在这里一样导入 MaterialModule 会更容易。不过还没有运行基准测试。
-
和@francojay 仅通过应用模块导入和导出它意味着其他子模块可以访问和使用它而无需再次导入。
-
是的,在这种情况下,我建议将 MaterialModule 导入 AppModule。尽可能保持模块化是很重要的。如果对它们进行分组没有性能问题,那么全局添加模块会更干净、更容易。
标签: angular