
本文讲解如何在vue项目中,利用element ui组件库,将侧边栏菜单与路由系统巧妙关联,实现点击菜单即跳转页面的功能。这是一种常见的开发需求,本文将提供详细的实现步骤。
核心在于将Element UI的组件与Vue Router的路由配置数据有效结合,通过遍历路由数据,动态生成的菜单项。以下代码示例演示了这一过程:
首先,我们需要一个包含路由信息的数组navData。此数组的结构需与路由配置相对应。示例navData数据结构如下:
{
path: '/',
code: 'AA',
name: 'AA菜单',
component: Home,
hidden: false,
children: [
{
path: '/list',
name: '列表1',
code: 'list',
hidden: false,
component: resolve => require(['@/views/AA/list'], resolve)
}
]
},
接下来,使用v-for指令遍历navData数组,动态创建组件的菜单项。对于包含子菜单的项,使用组件;对于叶子节点,使用组件。关键在于将el-menu-item的index属性设置为路由的path属性。这样,点击菜单项时,Vue Router会根据index属性跳转到对应的路由。
具体代码如下:
审查 Vue 管理后台的变更请求(Vue 2 + Element UI,Vue 3 + Element Plus)。重点关注最小化变更实现、上线风险检查以及回归检查清单生成。
<el-menu ...><template v-for="(item, index) in navData"><el-submenu :index="index + ''" :key="index"><template slot="title">{{ item.name }}</template><el-menu-item :index="child.path" :key="child.path" v-for="child in item.children.filter(fil => !fil.hidden)">
{{ child.name }}
</el-menu-item></el-submenu></template></el-menu>
请注意,需要在组件的data中将navData赋值为路由配置数据:this.navData = this.$router.options.routes。这确保navData数组包含最新的路由信息。filter(fil => !fil.hidden)用于过滤掉hidden: true的路由项,避免这些路由项出现在侧边栏中。
通过以上步骤,即可实现Element UI侧边栏与路由的绑定,方便用户导航。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










