我进入了几个视频,解释了NgModules和关于NgModules的官方Angular文档,但我仍然掌握它是如何工作的。
我了解组件进入declarations
,模块进入imports
,服务进入providers
(我也听说过自Angular v6以来,服务不需要完全申报?)。
我不明白的是何时以及为什么要创建" sub NgModules"比如auth.module.ts
。
app.modules.ts
?app.modules.ts
吗?由于
答案 0 :(得分:2)
为什么要创建那些子NgModules?
Angular遵循modular structure来增强代码结构,可读性和可重用性。 引用文档:
NgModules将组件,指令和管道整合到一致的功能块中,每个功能块都集中在功能区域,应用程序业务域,工作流程或公用事业集合上。
此外,子模块允许您实施lazy loading。
与仅使用app.modules.ts相比有什么好处?
Angular建议采用模块化结构,原因如上所述。另外,请查看style guide。
我应该将这些子NgModule导入app.modules.ts吗?
这取决于。如果使用路由,则可以延迟加载这些模块,因此不必将它们导入根模块。一旦与该模块关联的URL被命中,Angular将自己这样做。当然,你必须configure这种行为。
关于NgModules还有其他我需要知道的事情吗?
official docs上有很多关于ngModules的有用文档。事实上,大多数(如果不是全部)问题都可以通过深入阅读来回答。
NgModule常见问题解答:https://angular.io/guide/ngmodule-faq
答案 1 :(得分:1)
首先,我强烈建议您通过Angular官方site以便更好地理解。 我可以用一个词来解释你。
1)为什么要创建这些子NgModules?
您可以实施 Lazy-loading。
2)仅使用app.modules.ts有什么好处?
您可以在Angular中注册您创建的每件事物,并将它们组合在一起。
3)我应该将这些子NgModule导入app.modules.ts吗?
是的,你必须这样做。但是,如果您正在实现延迟加载,则没有必要这样做。
4)关于NgModules还有其他我需要了解的事情吗?
是的,请参阅this链接或浏览Angular官方documentation。