在系统登录到系统主页面之后,通过点击不同的菜单动态在主页面内替换相应的内容,而保持菜单栏和标题栏内容不变,可以通过以下两种方式实现,两种方式的原理都是相同的,

方式一:在路由设置时,设置一个home路由,其compone对应的就是home组件,然后一级菜单对应的路由都作为其children[ ]进行设置,在home页面的 主界面(main)添加<router-view>,则在点击主界面的菜单栏跳转指定的router时,就会只替换home中添加<router-view>的位置,此操作相当于是把其他的组件都设置成了home组件的子组件。其他的需要进行全部显示页面替换的可以写成home路由并列的路由对象,例如:login,404等。

const routes = [{path: '/',redirect:'/login',},{path: '/login',name: 'login',component: () => import('../views/Login/index.vue')},{path:'/home',name:'home',component: Home,redirect:'/welcome',// component:() => import('../views/Home/index.vue'),children:[{path:'/welcome',component:()=>import('../views/Home/Welcome/index.vue'),},{path:'/users',component:()=>import('../views/UserManage/UserManage.vue'),},]},

方式二:其实原理是相同的,就是写法的不同而已。每个一级菜单对应一个路由对象,同时每个一级菜单对应路由的组件(component)都设置为home(Layout)组件,然后,其默认跳转到一个二级菜单路由,其所有的二级菜单都作为其children[ ],如果有三级菜单的话继续利用children[]进行。方法二的结构看起来更清晰,但是多写了些重复的代码。

import Layout from '../views/layout/Layout'export const constantRouterMap = [{ path: '/login', component: () => import('@/views/login/index'), hidden: true },{ path: '/404', component: () => import('@/views/404'), hidden: true },{path: '/',component: Layout,redirect: '/dashboard',name: 'Dashboard',hidden: true,children: [{path: 'dashboard',component: () => import('@/views/dashboard/index')}]},{path: '/example',component: Layout,redirect: '/example/table',name: 'Example',meta: { title: 'Example', icon: 'example' },children: [{path: 'table',name: 'Table',component: () => import('@/views/table/index'),meta: { title: 'Table', icon: 'table' }},{path: 'tree',name: 'Tree',component: () => import('@/views/tree/index'),meta: { title: 'Tree', icon: 'tree' }}]},

Vue 菜单路由(router)只替换对应主页面中内容,而不是整个home页面的router index.js的两种设置方法相关推荐

  1. vue 使用axios 出现跨域请求的两种解决方法

    vue 使用axios 出现跨域请求的两种解决方法 参考文章: (1)vue 使用axios 出现跨域请求的两种解决方法 (2)https://www.cnblogs.com/wangshengli5 ...

  2. 电脑桌面只有计算机回收站显示,电脑桌面上只有回收站怎么办 电脑只显示回收站的两种解决方法...

    不久前小编的电脑开机后,桌面只显示一个回收站,并且出现了"C:\WINDOWS\system32\config\systemprofile\Desktop不可用"的错误提示,后来经 ...

  3. Java实现批量替换文本文档中内容

    Java实现批量替换文本文档中内容 有更好的方案大佬们也可以在评论区指出 import java.io.*; import java.util.HashMap; import java.util.Ma ...

  4. 桌面计算机回收站打不开,电脑桌面上只有回收站怎么办 电脑只显示回收站的两种解决方法...

    不久前小编的电脑开机后,桌面只显示一个回收站,并且出现了"C:\WINDOWS\system32\config\systemprofile\Desktop不可用"的错误提示,后来经 ...

  5. windows 10 关键错误,“开始”菜单无法使用,Cortana无法使用 无法工作的两种解决方法,实测可行

    windows 10 关键错误,"开始"菜单无法使用,Cortana无法使用 无法工作的两种解决方法,实测可行. 往往出现这个错误是在系统更新之后出现的. 第一种方法:新建文本文件 ...

  6. vue路由history模式刷新页面时页面丢失时常见的两种解决方法

    方法一: 1 2 3 4 5 6 7 8 location /{     root   /data/nginx/html;     index  index.html index.htm;     i ...

  7. 在vue文件引入echarts_vue文件中使用echarts.js的两种方式

    最近工作中需要用到echarts,由于项目是用的vue-cli开发的.在网上搜到vue中合成了vue-echarts,但是不想使用vue中规定好的数据格式,于是就自己做了一个vue项目引用原生echa ...

  8. java静态路由_Linux添加静态路由两种实现方法解析

    添加路由的命令: 1.route add route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 #添加一条静态路由 route add d ...

  9. Vue进阶(贰零壹):JS合并两个数组方法详解

    文章目录 一.前言 二.实现 2.1 concat 2.2 for循环 2.3 apply 2.4 ...拓展符 三.拓展阅读 一.前言 项目开发过程中,将两个数组合并成为一个的情况十分常见.比如: ...

最新文章

  1. GitHub开源的超逼真俄罗斯方块游戏
  2. 你真的理解零拷贝吗?
  3. C++11 Lambda函数(匿名函数)
  4. IOS开发之格式化日期时间的使用 编程中常见问题
  5. 软件工程师的十个“不职业”行为
  6. github page + jekyllrb 搭建新博客
  7. php安装sg11扩展,Centos下安装SG11加密扩展插件
  8. php dsn port,PHP的InfluxDB客户端库使用
  9. Python—什么是duck type鸭子类型
  10. vue el-date-picker 直接赋值不生效、数据绑定无效
  11. adadelta算法_【深度学习】深入理解优化器Optimizer算法(BGD、SGD、MBGD、Momentum、NAG、Adagrad、Adadelta、RMSprop、Adam)...
  12. 详解 Elasticsearch refresh 机制
  13. 萝卜章,电子封条……区块链风口将至?
  14. U盘全新安装High sierra及打造mac,win10双系统
  15. spark 读取本地文件
  16. Linux自动挂载模块目录,LINUX modprobe命令-自动处理可载入模块
  17. tarjan算法求解强连通分量问题
  18. 攻防世界warmup新人小白友好向详细解题过程
  19. 5.Hiveguigun滚(ノ`Д)ノ竟然竞争谨慎谨慎谨慎哈喇子罢工八公
  20. 望(dream-coastline 3.0)

热门文章

  1. 80后程序员降薪6K,预感中年危机来袭,准备跳槽却碰壁
  2. 吉他谱_C调南山南(果木浪子)
  3. 盛大招商!2019年中国信息通信服务交流研讨会即将召开
  4. Android调用相机,录像,相册
  5. pycharm 撤销操作,还原撤销快捷键
  6. 寸照换底色技巧大全,超详细图文教程
  7. 信阳学院毕业设计计算机,信阳师范学院关于开展2019届本科毕业论文(设计)检测工作的通知...
  8. 软件系统设计-8-桥接模式、装饰器模式
  9. 解决uniapp开发微信小程序预览pdf文件ios\安卓兼容问题
  10. 燕山大学计算机网络三级项目-(多功能会议室)