【发布时间】:2019-02-19 10:05:25
【问题描述】:
于是我阅读了Style Guide of Angular > Core Feature Module > Style Guide 04-11:
做在 CoreModule 中收集应用程序范围内的一次性组件。应用程序启动时导入一次(在 AppModule 中),永远不要在其他任何地方导入它。 (例如 NavComponent 和 SpinnerComponent)。
为什么? 现实世界的应用程序可以有几个只出现在 AppComponent 模板中的一次性组件(例如,微调器、消息吐司和模式对话框)。它们没有在其他地方进口,因此在这个意义上它们不是共享的。然而,它们又大又乱,不能随意放在根文件夹中。
我可以理解这一点。不过,我偶然发现了一个小问题,让我怀疑是否推荐使用此样式指南。
我的SharedModule 中存在一些管道,我需要在CoreModule 的单一组件中使用它们。
我想到了 2 个替代方案:
-
在 CoreModule 中导入 SharedModule - 但是会有很多我不需要的不相关的组件/指令/管道。
-
在 AppModule 中声明所需的管道 - 然后是分离的整个想法。
还有其他推荐的替代方案吗?
【问题讨论】:
-
CoreModules 奇异组件是什么意思?
-
@TheUnreal 我的意思是只使用一次的组件。例如 - 一个 HeaderComponent。该组件仅使用一次。与在多个模块中多次使用的 CommonComponent 不同。
-
如果你的
SharedModule有很多,你可以拆分它。一种用于材料模块,一种用于对话框,一种用于管道等.. 全部取决于您的应用程序包含的内容量.. 不确定我是否理解您的问题 -
@Stavm 并不是我不想导入 SharedModule 只是因为它很大。这是因为只为一两个管道导入整个共享模块感觉很奇怪。但我明白你的意思。谢谢。
标签: angular