Element UI使用
element官网: https://element.eleme.cn/#/zh-CN/component/installation
添加plugin :element-ui
实现动态菜单栏:
index.js
import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/Home.vue'
import PageOne from "../views/PageOne";
import PageTwo from "../views/PageTwo";
import PageThree from "../views/PageThree";
import PageFour from "../views/PageFour";
import App from "../App";
Vue.use(VueRouter)
const routes = [
{
path: '/',
name: '导航1',
component: App,
children: [
{
path: "/pageOne",
name: "页面1",
component: PageOne
},
{
path: "/pageTwo",
name: "页面2",
component: PageTwo
}
]
},
{
path: "/navigation",
name: "导航2",
component: App,
children: [
{
path: "/pageThree",
name: "页面3",
component: PageThree
},
{
path: "/pageFour",
name: "页面4",
component: PageFour
}
]
}
]
const router = new VueRouter({
mode: 'history',
base: process.env.BASE_URL,
routes
})
export default router
App.vue
<template>
<div id="app">
<el-container style="height: 500px; border: 1px solid #eee">
<el-aside width="200px" style="background-color: rgb(238, 241, 246)">
<!-- <el-menu :default-openeds="['1','2','3']">-->
<!-- <el-submenu index="1">-->
<!-- <template slot="title"><i class="el-icon-menu"></i>图书导航</template>-->
<!-- <el-menu-item index="1-1">选项1</el-menu-item>-->
<!-- <el-menu-item index="1-2">选项2</el-menu-item>-->
<!-- <el-menu-item index="1-3">选项3</el-menu-item>-->
<!-- <el-menu-item index="1-3">选项4</el-menu-item>-->
<!-- </el-submenu>-->
<!-- </el-menu>-->
<el-menu>
<el-submenu v-for="(item,index) in $router.options.routes" :index="index+''">
<template slot="title"><i class="el-icon-menu"></i>{{index}}-{{item.name}}</template>
<el-menu-item v-for="(item2,index2) in item.children" :index="index+'-'+index2">{{item2.name}}</el-menu-item>
</el-submenu>
</el-menu>
</el-aside>
<el-container>
<el-header style="text-align: right; font-size: 12px">
<el-dropdown>
<i class="el-icon-setting" style="margin-right: 15px"></i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>查看</el-dropdown-item>
<el-dropdown-item>新增</el-dropdown-item>
<el-dropdown-item>删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<span>王小虎</span>
</el-header>
<el-main>
<router-view></router-view>
</el-main>
</el-container>
</el-container>
</div>
</template>
<style>
.el-header {
background-color: #B3C0D1;
color: #333;
line-height: 60px;
}
.el-aside {
color: #333;
}
</style>
<script>
export default {
data() {
const item = {
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
};
return {
tableData: Array(20).fill(item)
}
}
};
</script>
PageOne.vue
<template>
<h1>This is Page 1</h1>
</template>
<script>
export default {
name: "PageFour"
}
</script>
<style scoped>
</style>
Page2-4相似
运行结果:(有套娃,在开发(3)中取消)