我正在开发一个示例 Angular 2 应用程序,我计划使用 @ngrx/store 和 @ngrx/effects 进行状态管理。
这个示例应用程序有一个根模块和多个功能模块。
现在我的问题是。
我可以在我的所有功能模块中导入 StoreModule 和 EffectsModule 还是应该在根模块中只导入一次?
为了在模块中导入单个效果文件,我在模块文件中的代码行下面编写了
EffectsModule.run(AuthorEffects)
如果有多个效果文件怎么办?
我正在开发一个示例 Angular 2 应用程序,我计划使用 @ngrx/store 和 @ngrx/effects 进行状态管理。
这个示例应用程序有一个根模块和多个功能模块。
现在我的问题是。
我可以在我的所有功能模块中导入 StoreModule 和 EffectsModule 还是应该在根模块中只导入一次?
为了在模块中导入单个效果文件,我在模块文件中的代码行下面编写了
EffectsModule.run(AuthorEffects)
如果有多个效果文件怎么办?
大多数情况下,它应该被导入到根模块中。看起来ngrx在v3 beta版中有一个解决方案来提供动态reducer功能:
https://github.com/ngrx/store/pull/269
至于多个效果,您需要为每个效果调用 EffectsModule.run()。
非常好的做法是将功能模块动态导入根模块。您可以为此使用ForFeature。您的根存储从头开始是空的,这对于扩展您的应用程序非常有用。
我建议你调查这个官方样本。它可以回答你的很多问题。
我希望,我帮助了你。