【发布时间】:2020-02-19 23:06:26
【问题描述】:
从下面的代码中,我只需要返回包含meta.menu 的对象,同时保留结构。
所以在下面的例子中,只有"panel.users.view" 的对象会被删除。我试过制作一个递归函数来遍历它,但我不知道如何无限地遍历它,因为可能有更多的对象。我不知道一个路由对象能达到多少层。
我还查看了 lodash 和 collect.js 以查看是否有可用于此的功能,但我无法找到解决方案我自己的。
非常感谢您的帮助,非常感谢!
const routes = [
{
path: "/panel",
name: "panel",
redirect: { name: "panel.dashboard" },
component: {},
children: [
{
path: "/dashboard",
name: "panel.dashboard",
component: {},
meta: {
menu: "main"
},
},
{
path: "/users",
name: "panel.users",
redirect: { name: "panel.dashboard" },
component: {},
children: [
{
path: "list",
name: "panel.users.list",
component: {},
meta: {
menu: "main"
},
},
{
path: "view/:user_id",
name: "panel.users.view",
component: {},
},
],
}
],
}
];
【问题讨论】:
-
你好。您的“panel.users”路径,没有 meta.menu。那么是否应该将所有这些都与孩子一起完全删除?
-
您好@ali.rezaie,感谢您抽出宝贵时间研究此问题。不,如果它有孩子,我想保留它。在这种情况下,只有名为“panel.users.view”的对象会被删除。
-
从下面的代码中,我只需要返回包含 meta.menu 的对象,同时保留结构 - 这将给出
[]。您可能需要重新考虑meta.menu在父路由中的存在,因为否则如果他们的孩子是主要的,您必须追溯包括它们,这肯定不会让事情变得更容易。你尝试了什么?由于您是 SO 新手,因此您可能想知道“为我编写代码”的问题,这些问题表明没有努力并没有受到欢迎。
标签: javascript vue.js