vue后台管理系统多级路由嵌套实现侧导航
vue后台管理系统多级路由嵌套实现侧导航,点击一级菜单展开二级菜单,点击二级菜单展开三级菜单,点击三级菜单跳转到相应的路由
·
vue后台管理系统多级路由嵌套实现侧导航
点击一级菜单展开二级菜单,点击二级菜单展开三级菜单,点击三级菜单跳转到相应的路由
话不多说,直接效果图
因为项目中有这样的需求,所以就写一个笔记,方便下次查阅
vue文件目录
layout.vue代码
<template>
<div class="app-wrapper">
<el-container>
<el-header>Header</el-header>
<el-container>
<el-aside width="200px">
<side-item></side-item>
</el-aside>
<el-main>
<app-main></app-main>
</el-main>
</el-container>
</el-container>
</div>
</template>
<script>
import SideItem from './SideItem';
import AppMain from './AppMain';
export default {
name: 'Layout',
components: {
SideItem,
AppMain
},
data() {
return {
}
}
}
</script>
sideitem.vue代码
<template>
<div class="aside">
<el-menu :default-openeds="['1']">
<el-submenu index="1">
<template slot="title"><i class="el-icon-message"></i>路由嵌套</template>
<el-submenu index="1-1">
<template slot="title">路由嵌套1</template>
<router-link to="/home/test1/test1-1">
<el-menu-item index="1-1-1">路由嵌套1-1</el-menu-item>
</router-link>
</el-submenu>
</el-submenu>
</el-menu>
</div>
</template>
注意:主要是这里的路径不要写错了,因为在写后台管理系统的时候,侧边的菜单都是直接用router里面的内容,所以这里的路径很容易写错,导致最终的效果不是我们想要的,所以这里直接写或者拼接的时候不要写错了
test1文件下index.vue代码
<template>
<div>
<router-view></router-view>
</div>
</template>
<script>
</script>
<style>
</style>
router文件夹下index.js代码
import Vue from 'vue'
import Router from 'vue-router'
import Layout from '@/views/layout/Layout'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'Layout',
component: Layout,
},
{
path: '/home',
name: 'home',
component: Layout,
children:[
{
path:'test1',
name:'test1',
component:()=>import('@/views/test1/index'),
meta:{
title:'路由嵌套'
},
children:[
{
path:'test1-1',
name:'test1-1',
component:()=>import('@/views/test1-1/index'),
meta:{
title:'路由嵌套1-1'
}
},
{
path:'test1-2',
name:'test1-2',
component:()=>import('@/views/test1-2/index'),
}]
}]
}
]
})
好了,大概就是这样了,写的不是很完善后期持续更新!
更多推荐
已为社区贡献1条内容
所有评论(0)