tak*_*hin 2 architecture lazy-loading angular-module angular-material2 angular
目前我有MyAngularModule类似的:
/app/material/material.module.ts
import { MatButtonModule, MatIconModule } from '@angular/material';
const MaterialComponents = [
MatButtonModule,
MatIconModule,
...
];
@NgModule({
imports: [
MaterialComponents
],
exports: [
MaterialComponents
],
})
export class MyMaterialModule {
}
Run Code Online (Sandbox Code Playgroud)
现在导入一次AppModule。
目前我有一个“扁平”模块架构,全部都急切地加载。
现在我正在更改应用程序架构以具有核心、共享和功能模块(使用延迟加载loadChildren)。
例如。
/features/data-grid/data-grid.module.ts
Run Code Online (Sandbox Code Playgroud)
该模块将使用一些 Angular Material 组件(例如 SpinnerModule),但不是全部。
其他功能模块将使用其他一些 Material 组件。
某些组件显然会在许多功能模块中使用。
问题是:如何在功能模块中加载所需的材质组件?应该MyMaterialModule是模块的子模块吗shared?
如果您只想定义一次组件并在各处导入,那么是的,创建一个组件shared.material.module并导入到需要它们的所有延迟加载组件中。
如果您的目标是加载尽可能少的模块,您可以将所需的确切材质模块导入到每个lazy.module惰性组件中。
第三种选择是在中间的某个地方相遇,并拥有一个共同的材质模块核心,core.material.module您可以将其导入到所有模块中,如果仅由少数组件使用/不经常使用,则可以根据需要导入其他组件。
| 归档时间: |
|
| 查看次数: |
1820 次 |
| 最近记录: |