我有一个数据库,其中包含一个具有 orgref、parentorgref、name 属性的组织表。
{ orgref: 1, name: "Level 0 org" }
{ orgref: 2, parentorgref: 1, name: "Level 1 org A" }
{ orgref: 3, parentorgref: 1, name: "Level 1 org B" }
{ orgref: 4, parentorgref: 3, name: "Level 2 org" }
我将这些组织存储在 rxjs 实体状态中。
在我的应用程序的大多数地方,我想分层使用这些(数据树等),所以希望它们排列为:
{
orgref: 1,
name: "Level 0 org",
children: [{
orgref: 2,
parentorgref: 1,
name: "Level 1 org A"
}, {
orgref: 3,
parentorgref: 1,
name: "Level 1 org B",
children: [{
orgref: 4,
parentorgref: 3,
name: "Level 2 org",
}]
}]
}
当然,如果我在children
通过以下方式加载组织时将子组织添加到集合中
{
...org,
children: getChildrenRecursive()
}
然后对实体的引用被破坏 - 也就是说,如果我使用 orgref=3 编辑实体,它不会更新层次结构中的组织,因为它是对象的副本,而不是对它的引用。
是否有一个公认的解决方案来处理 ngrx EntityState 中的分层实体?
谢谢