当前位置: 首页 > news >正文

点击侧边栏菜单时只切换 <router-view> 中的内容,而不是进行整个页面的路由跳转(动态路由)

解决方法:在 <el-menu> @select 事件中调用了 handleMenuSelect 方法来处理菜单项的选择。你可以在 handleMenuSelect 方法中根据菜单项的 index 来执行相应的操作,例如更新组件内的数据或者切换组件。由于整个页面的路由路径并没有改变,因此不会触发整个页面的路由跳转,只会更新 <router-view> 中的内容。这样就实现了只更新 <router-view> 中内容的效果。 

home组件

<template><div class="container"><el-container><!-- 头部 --><el-header>Header</el-header><el-container><!-- 侧边栏 --><el-col :span="12" :style="{ 'width': '200px' }"><el-menu default-active="first" class="el-menu-vertical-demo" @select="handleMenuSelect"><el-menu-item index="first"><i class="el-icon-menu"></i><span slot="title">首页</span></el-menu-item><el-menu-item index="person"><i class="el-icon-menu"></i><span slot="title">个人中心</span></el-menu-item><el-menu-item index="personal"><i class="el-icon-document"></i><span slot="title">成绩管理</span></el-menu-item><el-menu-item index="score"><i class="el-icon-setting"></i><span slot="title">人员管理</span></el-menu-item></el-menu></el-col><!-- 主要内容 --><el-main><router-view></router-view></el-main></el-container></el-container></div>
</template><script>
export default {methods: {handleMenuSelect(index) {const targetPath = '/' + index;// 判断目标路径是否与当前路径相同// 通过 this.$route.path 获取到当前路由的路径if (this.$route.path === targetPath) {// 如果相同则不进行导航return;}// 否则进行导航this.$router.push({ path: targetPath });}}
};
</script><style scoped>
.container {width: 1200px;margin: 0 auto;
}.el-header {background-color: #B3C0D1;color: #333;text-align: center;line-height: 60px;
}.el-aside {text-align: center;}.el-main {height: 600px;background-color: #E9EEF3;}body>.el-container {margin-bottom: 40px;
}
</style>

路由:

import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
import home from '@/view/home'  //引入需要用的组件
import login from '@/view/login'  //引入需要用的组件
import first from '@/view/aside/first'
import person from '@/view/aside/person'
import personal from '@/view/aside/personal'
import score from '@/view/aside/score'const routes = [{path: '/',redirect: '/home' // 将根路径重定向到 home 路由},{path: '/home',//路由地址name: 'home',component: home,//相对应的组件redirect:{name:"first"},children:[{path: '/first',name: 'first',component: first},{path: '/person',name: 'person',component: person},{path: '/personal',name: 'personal',component: personal},{path: '/score',name: 'score',component: score}]},{path: '/login',name: 'login',component: login}]const router = new VueRouter({mode: 'history',base: process.env.BASE_URL,routes
});export default router

目录

相关文章:

  • 替换ubuntu linux kernel内核, 实际操作有效
  • Java学习第十四节之冒泡排序
  • 文件上传漏洞:upload-labs靶场通关
  • Python dict函数
  • 浅谈业务场景中缓存的使用
  • elasticsearch下载及可视化工具下载使用
  • 无人机导航技术,无人机导航理论基础,无人机导航技术应用发展详解
  • 机器学习:卷积介绍及代码实现卷积操作
  • 华为第二批难题五:AI技术提升六面体网格生成自动化问题
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • 炫酷3D按钮
  • λ-矩阵知识点
  • 酷开科技荣获消费者服务平台黑猫投诉“消费者服务之星”称号
  • Swift Combine 级联多个 UI 更新,包括网络请求 从入门到精通十六
  • 《UE5_C++多人TPS完整教程》学习笔记4 ——《P5 局域网连接(LAN Connection)》
  • 收藏网友的 源程序下载网
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 2017届校招提前批面试回顾
  • Bytom交易说明(账户管理模式)
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • JavaScript HTML DOM
  • JavaScript实现分页效果
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Sequelize 中文文档 v4 - Getting started - 入门
  • spring cloud gateway 源码解析(4)跨域问题处理
  • 成为一名优秀的Developer的书单
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 前端_面试
  • 前端学习笔记之观察者模式
  • 如何优雅地使用 Sublime Text
  • 数据仓库的几种建模方法
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • # Panda3d 碰撞检测系统介绍
  • #HarmonyOS:软件安装window和mac预览Hello World
  • (C语言)共用体union的用法举例
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (NSDate) 时间 (time )比较
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (南京观海微电子)——COF介绍
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)Sql Server 保留几位小数的两种做法
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • ./configure、make、make install 命令
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • ??在JSP中,java和JavaScript如何交互?
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...