【发布时间】:2020-04-21 10:50:31
【问题描述】:
按照 Angular 指南,我正在尝试创建一个包含多个功能模块的示例项目。
为了在每个模块中使用 Angular Material,我创建了一个共享模块来导入和导出这些材质模块。在需要 Angular 材质的地方导入此共享模块。
根据指南,每个功能模块都应该有自己的路由器模块,因此我为每个功能创建了一个。
我想只保留路由模块中的路由相关项目,因此将共享模块导入功能模块中,令我惊讶的是它不起作用,即材料指令不起作用。
//Feature Module
@NgModule({
imports: [..., SharedModule], //SharedModule import doesn't make material available
declarations: []
})
一旦我在路由器模块中导入了这个共享模块,材质组件就开始工作了。
//Feature Router Module
@NgModule({
imports: [..., SharedModule], //SharedModule makes material available
declarations: []
})
如何通过在功能模块中导入共享模块使其工作?
【问题讨论】:
-
仅供参考:这种推荐的方法多年来对我来说效果不佳。我停止使用共享模块来导入材料模块。我发现无法判断使用了哪些模块。所以你不妨只导入所有东西,因为在几个月内这基本上就是要发生的事情。所以我更喜欢创建只直接导入他们需要的 Material 模块的小型共享模块。每个模块一个组件的方法对我来说效果很好。
-
感谢@Reactgular 的建议
标签: angular angular-material angular-routing angular-module