从0到1完成一个Vue后台管理项目(八、Menu改造完善、子组件创建、配置路由)
创始人
2024-05-09 16:48:37
0

往期

从0到1完成一个Vue后台管理项目(一、创建项目)

从0到1完成一个Vue后台管理项目(二、使用element-ui)

从0到1完成一个Vue后台管理项目(三、使用SCSS/LESS,安装图标库)

从0到1完成一个Vue后台管理项目(四、引入axios、配置路由)

从0到1完成一个Vue后台管理项目(五、登录页(表单校验的使用和封装))

从0到1完成一个Vue后台管理项目(五、登录页,mock,token,axios封装)

从0到1完成一个Vue后台管理项目(六、404页)

从0到1完成一个Vue后台管理项目(七、Header、Footer、页面布局)

引入element-ui导航布局

代码


展示
在这里插入图片描述
这样我们就得到了一个常规的后台管理布局

改造

我们稍微改造一下,删除多余的代码
在这里插入图片描述
结果
在这里插入图片描述

添加Menu子组件

我们的Menu菜单,点开每一下,右侧会展示对应内容,所以毫无疑问,我们的Menu是需要子组件的

components下建立如图所示的文件夹和.vue组件,并初始化一下

在这里插入图片描述

配置路由

我们要给对应的子组件配置对应的路由

import { Icon } from "element-ui";
import Vue from "vue";
import Router from "vue-router";Vue.use(Router)export default new Router({routes: [{path: '/',redirect: '/login',component: () => import('@/components/Login')},{path: '/login',name: 'Login',component: () => import('@/components/Login')},{path: '*',name: 'NotFound',component: () => import('@/components/404.vue')},// {//   path: '/home',//   // component: () => import('@/components/Home')//路由懒加载//   component: resolve => require(['@/components/Home'], resolve)// },{path: '/home',name: '学生管理',iconClass: 'fa fa-users',redirect: '/home/student',component: () => import('@/components/Home'),children: [{path: '/home/student',name: '学生列表',iconClass: 'fa fa-list',component: () => import('@/components/students/StudentList')},{path: '/home/info',name: '信息列表',iconClass: 'fa fa-list-alt',component: () => import('@/components/students/InfoList')},{path: '/home/infos',name: '信息管理',iconClass: 'fa fa-list-alt',component: () => import('@/components/students/InfoLists')},{path: '/home/work',name: '作业列表',iconClass: 'fa fa-list-ul',component: () => import('@/components/students/WorkList')},{path: '/home/works',name: '作业管理',iconClass: 'fa fa-th-list',component: () => import('@/components/students/WorkMent')},]},{path: '/home',name: '数据分析',iconClass: 'fa fa-bar-chart',component: () => import('@/components/Home'),children: [{path: '/home/dataview',name: '数据概览',iconClass: 'fa fa-line-chart',component: () => import('@/components/dataAnalysis/DataView')},{path: '/home/mapview',name: '地图概览',iconClass: 'fa fa-line-chart',component: () => import('@/components/dataAnalysis/MapView')},{path: '/home/travel',name: '旅游地图',iconClass: 'fa fa-line-chart',component: () => import('@/components/dataAnalysis/TravelMap')},{path: '/home/score',name: '分数地图',iconClass: 'fa fa-line-chart',component: () => import('@/components/dataAnalysis/ScoreMap')},]},{path: '/users',name: '用户中心',iconClass: 'fa fa-user',component: () => import('@/components/Home'),children: [{path: '/users/user',name: '权限管理',iconClass: 'fa fa-user',component: () => import('@/components/users/User')}]}],mode: 'history'
})

这里的iconClass是为了给我们的菜单项配置对应的图标

改造Menu.vue

在这里插入图片描述

我们打印可以发现路由的信息已经存在了

在这里插入图片描述
在这里插入图片描述
我们根据路由进行菜单项渲染
在这里插入图片描述

我们发现已经显示出来了
但是有的不是我们想要的,比如404,怎么办

hidden:true

我们在路由添加hidden:true的配置项,然后在Menu设置v-if即可

在这里插入图片描述

在这里插入图片描述

展示

在这里插入图片描述

显示图标

还记得我们配置的iconClass吗,现在要用了

在这里插入图片描述
展示成功
在这里插入图片描述

配置子组件

我们现在发现,我们点击对应项,子组件的路由没有跟着变化,这就需要我们配置一下
在这里插入图片描述

设置路由出口

在这里插入图片描述
在这里插入图片描述
这样我们内容就可以跟着路由变化了

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...