
本文讲解如何在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属性跳转到对应的路由。
具体代码如下:
立即学习“前端免费学习笔记(深入)”;
{{ item.name }} {{ child.name }}
请注意,需要在组件的data中将navData赋值为路由配置数据:this.navData = this.$router.options.routes。这确保navData数组包含最新的路由信息。filter(fil => !fil.hidden)用于过滤掉hidden: true的路由项,避免这些路由项出现在侧边栏中。
通过以上步骤,即可实现Element UI侧边栏与路由的绑定,方便用户导航。











