1.页面布局
因为之前在工程中添加了elementui,因此用elementui来做页面;
打开elementui官网:
https://element.eleme.cn/#/zh-CN
找到组件-》Container布局容器
找一个看得顺眼的,复制代码到自己的工程的App.Vue中;

代码:
<template> <div id="app"> <el-container style="height: 500px; border: 1px solid #eee"> <el-aside width="200px" style=" <el-menu :default-openeds="['1', '3']"> <el-submenu index="1"> <template slot="title"><i class="el-icon-message"></i>导航一</template> <el-menu-item-group> <template slot="title">分组一</template> <el-menu-item index="1-1">选项1</el-menu-item> <el-menu-item index="1-2">选项2</el-menu-item> </el-menu-item-group> <el-menu-item-group title="分组2"> <el-menu-item index="1-3">选项3</el-menu-item> </el-menu-item-group> <el-submenu index="1-4"> <template slot="title">选项4</template> <el-menu-item index="1-4-1">选项4-1</el-menu-item> </el-submenu> </el-submenu> <el-submenu index="2"> <template slot="title"><i class="el-icon-menu"></i>导航二</template> <el-menu-item-group> <template slot="title">分组一</template> <el-menu-item index="2-1">选项1</el-menu-item> <el-menu-item index="2-2">选项2</el-menu-item> </el-menu-item-group> <el-menu-item-group title="分组2"> <el-menu-item index="2-3">选项3</el-menu-item> </el-menu-item-group> <el-submenu index="2-4"> <template slot="title">选项4</template> <el-menu-item index="2-4-1">选项4-1</el-menu-item> </el-submenu> </el-submenu> <el-submenu index="3"> <template slot="title"><i class="el-icon-setting"></i>导航三</template> <el-menu-item-group> <template slot="title">分组一</template> <el-menu-item index="3-1">选项1</el-menu-item> <el-menu-item index="3-2">选项2</el-menu-item> </el-menu-item-group> <el-menu-item-group title="分组2"> <el-menu-item index="3-3">选项3</el-menu-item> </el-menu-item-group> <el-submenu index="3-4"> <template slot="title">选项4</template> <el-menu-item index="3-4-1">选项4-1</el-menu-item> </el-submenu> </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> <el-table :data="tableData"> <el-table-column prop="date" label="日期" width="140"> </el-table-column> <el-table-column prop="name" label="姓名" width="120"> </el-table-column> <el-table-column prop="address" label="地址"> </el-table-column> </el-table> </el-main> </el-container> </el-container> </div> </template> <style> .el-header { 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>
xx.vue文件包括三部分:
template ->页面,只能有一个根节点,也就是说<template>标签下一级子目录中有且只能有一个<div>
style ->样式
script ->js
结果:主页变成这样

2.创建导航栏
主要是修改左侧的导航栏,点击可以调到自定义的页面;
主要步骤:
新建几个页面(xxx.vue可以放在views目录下)
配置路由(修改router目录下的index.js)
修改左侧导航栏(用v-for遍历配置的路由信息)
1)页面
主页index.vue,只需要放一个路由窗口<router-view>即可;
<template> <router-view></router-view> </template> <script> export default { name: "Index" } </script> <style scoped> </style>
2)测试页面
创建几个简单的页面用来测试
<template> <div>这是页面一</div> </template> <script> export default { name: "PageOne" } </script> <style> </style>
3)配置路由
修改router目录下的index.js;
给index.vue和几个测试页面配置路由,用来点击时可以在路由窗口中显示对应页面;
import Vue from 'vue' import VueRouter from 'vue-router' import Index from '../views/Index.vue' import PageOne from '../views/PageOne.vue' import PageTwo from '../views/PageTwo.vue' import PageThree from '../views/PageThree.vue' import PageFour from '../views/PageFour.vue' Vue.use(VueRouter) const routes = [ { path: '/', name: '导航一', component: Index, redirect:'/p1', //重定向,用来默认显示Page1 children:[ { path: '/p1', name: 'Page1', component: PageOne }, { path: '/p2', name: 'Page2', component: PageTwo } ] }, { path:'/nav2', name:'导航二', component:Index, children:[ { path: '/p3', name: 'Page3', component: PageThree }, { path: '/p4', name: 'Page4', component: PageFour } ] } ] const router = new VueRouter({ routes }) export default router
4)修改导航栏
导航栏在App.vue中;
主要是从路由中获取导航栏的数据,并且给导航绑定路由以便跳转;
主要代码:
<el-aside width="200px" style=" <el-menu router> <!--需要给标签加上router属性才能跳转--> <el-submenu v-for="(item, index) in $router.options.routes" :index="index+''"> <template slot="title"><i class="el-icon-message"></i>{{item.name}}</template> <!--index属性的值设为要跳转的路径--> <!--class的值动态添加,来实现点击变色,用$route.path取浏览器跳转地址,注意这里不是$router--> <el-menu-item v-for="(item2, index2) in item.children" :index="item2.path" :class="$route.path==item2.path?'is-active':''" >{{item2.name}}</el-menu-item> </el-submenu> </el-menu> </el-aside>
5)效果
