vue+elem动态加载侧边栏
时间: 2023-09-05 15:10:22 浏览: 220
你可以使用 Vue.js 和 Element UI 来动态加载侧边栏。下面是一个示例的代码:
首先,你需要在你的 Vue 组件中引入 Element UI 的侧边栏组件:
```javascript
import { Menu, Submenu, MenuItem } from 'element-ui';
```
然后,在你的组件中定义一个侧边栏的数据源,可以是一个数组或者是从后端获取的数据:
```javascript
data() {
return {
sidebarMenu: [
{
title: '菜单1',
icon: 'el-icon-location',
children: [
{
title: '子菜单1',
path: '/sub-menu-1'
},
{
title: '子菜单2',
path: '/sub-menu-2'
}
]
},
{
title: '菜单2',
icon: 'el-icon-menu',
path: '/menu-2'
},
// ...
]
}
}
```
接着,在你的模板中使用 `el-menu` 和 `el-submenu` 组件来渲染侧边栏:
```html
<el-menu>
<template v-for="item in sidebarMenu">
<el-submenu v-if="item.children" :index="item.title">
<template slot="title">
<i :class="item.icon"></i>
<span>{{ item.title }}</span>
</template>
<el-menu-item v-for="child in item.children" :key="child.path" :index="child.path">
{{ child.title }}
</el-menu-item>
</el-submenu>
<el-menu-item v-else :key="item.path" :index="item.path">
<i :class="item.icon"></i>
<span>{{ item.title }}</span>
</el-menu-item>
</template>
</el-menu>
```
最后,你可以根据需要在组件的生命周期钩子或者其他逻辑中动态修改 `sidebarMenu` 的值,从而实现动态加载侧边栏。
请注意,上述代码仅为示例,你可能需要根据你的具体需求进行调整。同时,确保你已经正确引入了 Element UI 组件和样式。
阅读全文