gpt4 book ai didi

angular - 按照惰性模块结构使用 NgRx 存储创建嵌套切片

转载 作者:行者123 更新时间:2023-12-03 21:19:03 26 4
gpt4 key购买 nike

我是 NgRx 的新手。
在我的项目中,我们有 3 个级别的惰性模块。我希望商店的状态根据模块层次结构嵌套,但是当我写的时候:storeModule.forFeature('child',reducer)我得到的是一个平坦的状态片而不是分层的状态片。

例如,如果我有父模块和子模块。我将在父模块 storeModule.forFeature('father',reducer) 中定义
在子模块storeModure.forFeature('child',reducer)
状态的结果不会是

{ father { child {}}}

而是:
{ father {}, child {}}

有没有办法像惰性模块一样使状态分层?

最佳答案

您实际上可以拥有延迟加载的状态切片。假设您有以下模块配置

app
father
child
并且您希望(如您所述)具有以下状态
{
father: {
child: {}
}
}
您需要确保:
  • 您在 AppModule 中有一个路由器和 FatherModule 中的路由器.
  • 你懒加载FatherModuleAppModules路由器(!)。
  • 你懒加载ChildModuleFatherModules路由器(!)。
  • 导入中的配置是正确的:在 ChildModule : StoreModule.forFeature('child', childreducers)FatherModule : StoreModule.forFeature('father', fatherreducers) .

  • 例如,如果您导航到 FatherModule 中的组件。它将加载 father特征。但不一定是 child特征。仅当您导航到某个加载 ChildModule 的子路径时.
    您目前所做的是同时拥有 forFeature同一模块中的方法。这没有任何意义,因为“功能”与模块直接相关。

    关于angular - 按照惰性模块结构使用 NgRx 存储创建嵌套切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52665717/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com