【发布时间】:2019-10-15 15:26:57
【问题描述】:
我有一个带有子对象的数组,并且需要递归地在每个对象中设置一个字段(隐藏)。每个值都在订阅中设置。我想等到数组中的每一项都递归更新后,再订阅完成。
隐藏字段将根据从另一个 observable 派生的角色和权限进行设置。在示例中,我添加了延迟来模拟它。
这是我的第一次尝试。我敢肯定有一种更清洁的方法来解决这个问题。
https://codesandbox.io/s/rxjs-playground-hp3wr
// Array structure. Note children.
const navigation = [
{
id: "applications",
title: "Applications",
children: [
{
id: "dashboard",
title: "Dashboard"
},
{
id: "clients",
title: "Clients"
},
{
id: "documents",
title: "Documents",
children: [
{
id: "dashboard",
title: "Dashboard"
},...
]
},
{
id: "reports",
title: "Reports"
},
{
id: "resources",
title: "Resources"
}
]
}
];
在代码沙箱示例中,查看控制台消息,我得到了正确的结果。但是,我想避免订阅 setHidden 和递归 SetHidden。如果可能,我也想避免使用主题。
【问题讨论】: