我不了解Angular NgModules

时间:2018-05-22 10:50:58

标签: angular ng-modules

我进入了几个视频,解释了NgModules和关于NgModules的官方Angular文档,但我仍然掌握它是如何工作的。

我了解组件进入declarations,模块进入imports,服务进入providers我也听说过自Angular v6以来,服务不需要完全申报?)。 我不明白的是何时以及为什么要创建" sub NgModules"比如auth.module.ts

  • 我为什么要创建那些子NgModules?
  • 仅使用app.modules.ts
  • 的好处是什么?
  • 我应该将这些子NgModule导入app.modules.ts吗?
  • 关于NgModules还有其他我需要知道的事情吗?

由于

2 个答案:

答案 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