vue路由嵌套场景中,会有多级甚至无限极菜单路由嵌套的需求

小编:小蝶 更新时间:2022-04-14

vue路由嵌套场景中,会有多级甚至无限极菜单路由嵌套的需求,这路由视图是层级继承的,子路由页面内容往父级放,父级在继续往更高级地放,最终所有内容显示顶级视图中,这样每级就需要一个页面去对应每个路由配置中的component,有多少级路由就需要创建几级文件对应,这样显然比较麻烦,有一些父级路由只是起到把子路由的页面内容往上抛的作用并没有自己独立的内容,这时可以建个空页面里面放入route-view视图标签,大家共用这个页面就好了,就不用建那么多文件了。

那么问题来了,如果父级路由也要有自己的功能,支持展示、发布等功能,不但需要实现自己功能,还要把子路由的页面往上级抛且上下级页面内容互不影响,这种“变态”的需求还是有的,那怎么搞?目前方案还需在子路由数组进行新增一个路由来代替父级功能操作,并把子路由菜单隐藏起来,点击父级后跳转这个子路由页面进行操作,这目前也是常见vue后台模板中菜单路由的实现方式。

这些都是在后台动态生成前端菜单时是否能更好地遵循某个规律的考虑,一、两级菜单就不影响,但是一些项目,比如把栏目分类当做菜单路由的子路由,便于点击栏目菜单直接维护栏目下的内容,栏目分类层级可能会很深是无限的,没有更好的规律,动态生成前端菜单就比较麻烦。

目前还是采用常见后台模板的方式,只是感觉比较麻烦,不知道大家一般怎么实现?

实在不行,那我走?不动态了,让前端去背锅?[微笑]