为什么NgRx示例应用程序中的身份验证模块中定义了两个模块?

时间:2017-11-01 23:59:15

标签: angular ngrx

Angular的NgRx库在其源代码库中提供了一个示例应用程序,用于说明NgRx的使用。在此应用程序中,有一个用于身份验证的模块在authentication module file中定义了两个模块,一个名为AuthModule,另一个名为RootAuthModule

我对此有几个问题:

  1. 为什么身份验证功能模块中有两个模块?为什么不只是一个?
  2. 每个服务的目的是什么?
  3. 使用NgRx在Angular中创建新的要素模块时,何时会在一个模块设计中选择两个模块设计?
  4. 谢谢!

1 个答案:

答案 0 :(得分:3)

我认为它的组织方式可以分离应用启动时所需的内容(var p = new Process(); p.StartInfo = new ProcessStartInfo(@"C:\Users\user2\Desktop\XXXX.reg") { UseShellExecute = true }; p.Start(); )以及可以在整个应用程序中重新导入的内容。

第一个模块(forRoot)是您实际导入的模块,并在AuthModule消耗时调用forRoot。第二个模块app.module定义了应该只在应用程序中出现一次的所有导入。

这实际上取决于你如何组织事物,如果没有需要导出的组件,开发人员可能只是定义了一个模块。由于存在需要连接的服务组件,因此他们选择将所有基于根的内容组合在一个组件中,将所有非基于组件的组件组合在另一个组件中。