效果

项目结构

App.vue
<template>
<div id="app">
<router-view/>
</div>
</template>
<style>
</style>
guanli.vue
<template>
<div id="app">
guanli
</div>
</template>
xinxi.vue
<template>
<div id="app">
xinxi
</div>
</template>
xiangqing.vue
<template>
<div id="app">
xiangqing
</div>
</template>
Home.vue
<template>
<el-container class="container">
<el-header>Header</el-header>
<el-container>
<el-aside width="200px">
<!-- 左侧导航 --><!-- default-active="/management/guanli" 默认加载页路由路径 -->
<el-menu
default-active="/management/guanli"
class="el-menu-vertical-demo"
@open="handleOpen"
@close="handleClose"
background-color="#545c64"
text-color="#fff"
active-text-color="#ffd04b"
:router="true"><!-- :router="true"开启导航 -->
<el-menu-item index="/management/guanli">
<i class="el-icon-menu"></i>
<span slot="title">导航一</span>
</el-menu-item>
<el-submenu index="2">
<template slot="title">
<i class="el-icon-location"></i>
<span>导航二</span>
</template>
<el-menu-item-group>
<el-menu-item index="/management/xinxi">选项1</el-menu-item>
<el-menu-item index="/management/xiangqing">选项2</el-menu-item>
</el-menu-item-group>
</el-submenu>
</el-menu>
<!-- 左侧导航 -->
</el-aside>
<el-main>
<router-view /><!-- 路由出口 -->
</el-main>
</el-container>
<el-footer>Footer</el-footer>
</el-container>
</template>
<script>
export default {
methods: {
handleOpen(key, keyPath) {
console.log(key, keyPath);
},
handleClose(key, keyPath) {
console.log(key, keyPath);
}
}
}
</script>
<style scoped>
/* 去掉选项右侧边框 */
.el-menu {
border-right: none;
}
/* 设置整体布局高度 */
.container {
height: 100vh;
}
.el-header,
.el-footer {
background-color: #B3C0D1;
color: #333;
text-align: center;
line-height: 60px;
}
.el-aside {
background-color: #D3DCE6;
color: #333;
text-align: center;
line-height: 200px;
}
.el-main {
background-color: #E9EEF3;
color: #333;
text-align: center;
line-height: 160px;
}
body>.el-container {
margin-bottom: 40px;
}
.el-container:nth-child(5) .el-aside,
.el-container:nth-child(6) .el-aside {
line-height: 260px;
}
.el-container:nth-child(7) .el-aside {
line-height: 320px;
}
</style>
路由文件index.js
import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/Home.vue'
import Guanli from '../views/guanli.vue'
import Xinxi from '../views/xinxi.vue'
import Xiangqing from '../views/xiangqing.vue'
Vue.use(VueRouter)
const routes = [
{
path: '/',
name: 'Home',
redirect:'/management/guanli'//默认页直接重定向到你要显示的默认页
},
{
path: '/management/',
name: 'management',
component: Home,
children:[
{
path: 'guanli',//默认显示页路径
name: 'Guanli',
component: Guanli,
},
{
path: 'xinxi',
name: 'Xinxi',
component: Xinxi
},
{
path: 'xiangqing',
name: 'Xiangqing',
component: Xiangqing
}
]
}
]
const router = new VueRouter({
routes
})
export default router
网友评论