多多OJ评测系统 在前端脚手架Vue-Cli中设置页面路由

news2024/9/20 22:24:05

目录

设置页面路由

我们把菜单上的路由改成读取路由文件

设置成export 导出路由

在刚刚的原始路由 index.ts中导入就行了

在这边引入我们的路由文件

我们之后点击菜单

我们的路由文件是这样的

但是没有跳转

写一下事件

接下来要同步路由到菜单项

自己定义监听函数

这样就能实现 在哪个页面刷新 还会停留在哪个页面


设置页面路由

我们把菜单上的路由改成读取路由文件

实现更通用的动态配置

其实vue - cli脚手架自动帮我们生成了一个路由文件

我们先把一部分给提出来

设置成export 导出路由

在刚刚的原始路由 index.ts中导入就行了

提取通用路由文件

是为了喂给菜单项

在这边引入我们的路由文件

细节

我们之后点击菜单

就能跳转到我们对应的路由文件上去

我们把菜单不写成死的

修改一下

   <a-menu-item v-for="item in routes" :key="item.path">
        {{ item.name }}
      </a-menu-item>
<script setup lang="ts">
import { routes } from "../router/routes";
</script>

我们的路由文件是这样的

import { RouteRecordRaw } from "vue-router";
import HomeView from "@/views/HomeView.vue";

export const routes: Array<RouteRecordRaw> = [
  {
    path: "/",
    name: "home",
    component: HomeView,
  },
  {
    path: "/about",
    name: "about",
    // route level code-splitting
    // this generates a separate chunk (about.[hash].js) for this route
    // which is lazy-loaded when the route is visited.
    component: () =>
      import(/* webpackChunkName: "about" */ "../views/AboutView.vue"),
  },
];

展示

但是没有跳转

接下来我们要去绑定事件

写一下事件

const router = useRouter();

const doMenuClick = (key: string) => {
  router.push({
    path: key,
  });
};

接下来要同步路由到菜单项

就是每次刷新的时候 页面把路由信息同步到菜单项上

首先我们把路由不设置成默认的

自己定义监听函数

//默认主页
const selectedKeys = ref(["/"]);

//路由跳转时 更新选中的菜单项
router.afterEach((to, from, failture) => {
  selectedKeys.value = [to.path];
});

这样就能实现 在哪个页面刷新 还会停留在哪个页面

首先点击菜单项

跳转更新路由

更新路由后

同步去更新菜单栏的高亮状态

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1951981.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【吊打面试官系列-Dubbo面试题】Dubbo 服务降级,失败重试怎么做?

大家好&#xff0c;我是锋哥。今天分享关于 【Dubbo 服务降级&#xff0c;失败重试怎么做&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; Dubbo 服务降级&#xff0c;失败重试怎么做&#xff1f; 可以通过 dubbo:reference 中设置 mock"return null"…

认知是门槛、红利和自己人生的奇异点

认知是门槛、红利和自己人生的奇异点 我发现&#xff0c;身边绝大部分有钱人&#xff0c;「认知」都已经处于比较高的层次&#xff0c;人的认知其实分6个层级: 第一层&#xff0c;环境层第二层&#xff0c;行为层第三层&#xff0c;能力层第四层&#xff0c;BVR 层第五层&…

Android WebViewClient 的 `shouldOverrideUrlLoading` 方法

简介 在Android开发中&#xff0c;WebView是一个强大的工具&#xff0c;可以在你的应用中显示网页内容。了解 WebViewClient 中的 shouldOverrideUrlLoading 方法是至关重要的&#xff0c;因为这个方法允许你控制 URL 在 WebView 中的处理方式。 在本文中&#xff0c;我们将详…

鼠标宏怎么设置?适合游戏玩家的通用鼠标宏工具分享

在很多大型游戏当中&#xff0c;鼠标的操作效率成为决定游戏成败的因素之一。好用的鼠标及按键设置可以帮助玩家简化很多游戏操作步骤&#xff0c;轻松提升游戏操作效率。鼠标宏的出现使得人们在游戏、日常办公中带来极大地便利。今天小编将详细介绍鼠标宏在游戏种的作用以及常…

【Three.js基础学习】17.imported-models

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 前言 课程回顾&#xff1a; 如何在three.js 中引入不同的模型&#xff1f; 1. 格式 &#xff08;不同的格式&#xff09; https://en.wikipedia.org/wiki/List_of_file_form…

基于单片机控制的升降式焊接工作台的设计

摘 要: 设计一种基于单片机控制的升降式焊接工作台&#xff0c;由机械系统和单片机控制系统组成 。 采用 STC89C51 单片机为电路控制核心&#xff0c;独立键盘和共阴极 7 段数码管显示器作为外设&#xff0c;对升降式焊接工作台单片机控制系统中的主控电路 、 显示电路、 键…

精选3款屏幕录制软件,总有一款适合你

随着技术的不断发展&#xff0c;屏幕录制已成为我们生活中不可或缺的一部分&#xff0c;无论是录制在线会议、制作教程、游戏直播还是分享演示文稿&#xff0c;屏幕录制软件都发挥着重要作用。本文将详细介绍3款主流的屏幕录制工具&#xff0c;并分步骤阐述它们的使用方法&…

CogVideo 实测,智谱「清影」AI视频生成,全民免费,连 API 都开放了!

不得不说&#xff0c;AI 视频生成界最近非常火热~ 前有快手「可灵」开放内测&#xff0c;一下子带火了老照片修复&#xff0c;全网刷屏&#xff1a; 怕是你还没拿到内测资格&#xff0c;被称为 “国货之光” 的「可灵」就结束了免费无限量模式。每天只有66点的免费额度&#x…

小程序的运营方法:从入门到精通

随着科技的快速发展&#xff0c;小程序已成为我们日常生活和工作中不可或缺的一部分。小程序无需下载安装&#xff0c;即用即走的特点深受用户喜爱。那么&#xff0c;如何运营好一个小程序呢&#xff1f;下面就为大家分享一些小程序的运营方法。 一、明确目标用户 在运营小程序…

sqlserver 连接数据4064

用sa登录&#xff0c;找到对应的登录名&#xff0c;右键属性&#xff0c;设置默认数据库

Android APP 音视频(03)CameraX预览与MediaCodec编码

说明&#xff1a; 此CameraX预览和编码实操主要针对Android12.0系统。通过CameraX预览获取yuv格式数据&#xff0c;将yuv格式数据通过mediacodec编码输出H264码流&#xff08;使用ffmpeg播放&#xff09;&#xff0c;存储到sd卡上。 1 CameraX 和 MediaCodec简介 1.1 CameraX…

【区块链】如何发行自己的加密货币到以太坊测试网络,remixIDE发行自己的数字货币

如何发行自己的加密货币到以太坊测试网络 环境 reminx在线编辑器&#xff1a;https://remix.ethereum.org/安装有小狐狸钱包插件&#xff08;MetaMask&#xff09; 如何部署代币&#xff1f; 创建一个名字叫做HelloMyToken.sol的文件。编写好智能合约&#xff0c;这边我要发…

RedHat9 | Ansible 处理任务失败

环境版本说明 RedHat9 [Red Hat Enterprise Linux release 9.0]Ansible [core 2.13.3]Python [3.9.10]jinja [3.1.2] 1. 忽略任务失败 Ansible评估各任务的返回代码&#xff0c;从而确定任务是成功还是失败通常而言&#xff0c;当任务失败时&#xff0c;Ansible将立即在该主…

【2024年国际高等学校数学建模竞赛IMMCHE】问题 A:金字塔石块的运输 问题分析及数学模型及求解代码

【2024 年国际高等学校数学建模竞赛&#xff08;IMMCHE&#xff09;】问题 A&#xff1a;金字塔石块的运输 问题分析及数学模型及求解代码 Problem A: Transportation of Pyramid Stones 1 题目 建造金字塔是古埃及文明的杰出成就之一。它们不仅是建筑奇迹&#xff0c;也是人…

1.C基础_计算机基础知识

计算机构成 计算机是由输入设备、输出设备、内存储器、外存储器、CPU构成&#xff0c;具体框图如下&#xff1a; 输入设备&#xff1a;将其他信号转换为计算机能识别的电信号的设备&#xff0c;如传感器 输出设备&#xff1a;将电信号转换为其他信号&#xff0c;如显示器 存…

SAM与OpenAI发布的CLIP强强联手(SAM2CLIP 和 CLIP2SAM),实现22000类的分割与识别

Abstract CLIP 和 Segment Anything Model&#xff08;SAM&#xff09;是卓越的视觉基础模型&#xff08;VFMs&#xff09;。SAM 在各种领域的分割任务中表现出色&#xff0c;而 CLIP 以其零样本识别能力而闻名。本文深入探讨了将这两种模型整合到一个统一框架中的方法。具体而…

2024101读书笔记|《飞花令·冬》——三冬雪压千年树,四月花繁百尺藤

2024101读书笔记|《飞花令冬》——三冬雪压千年树&#xff0c;四月花繁百尺藤 《飞花令冬&#xff08;中国文化古典诗词品鉴&#xff09;》素心落雪 编著&#xff0c;飞花令得名于唐代诗人韩翃《寒食》中的名句“春城无处不飞花”&#xff0c;类似于行酒令&#xff0c;是文人们…

Java 面试相关问题(下)——JVM相关问题GC相关问题

1. 类加载1.1 类的生命周期说一下&#xff1f;1.2 介绍下生命周期中的加载&#xff1f;1.3 介绍下生命周期中的验证&#xff1f;1.4 介绍下生命周期中的准备&#xff1f;1.5 介绍下生命周期中的解析&#xff1f;1.6 介绍下生命周期中的初始化&#xff1f;1.7 介绍下生命周期中的…

MySQL大框架总结

1.DDL,DML,DQL,DCL的区别 &#xff08;由于DCL是关乎用户的&#xff0c;以下内容重点讲述数据库&#xff0c;表与数据的操作&#xff0c;所以对DCL不详细赘述&#xff09; DDL DML DQL DCL 中文/英文 数据库定义语言 data definition language 数据库操作语言 data mani…

04-用户画像+sqoop使用

优点 sqoop的作用是实现数据的导入和导出&#xff0c;主要是对数据库和数据仓库之间的操作 只要是支持jdbc连接的数据库都可以使用sqoop操作 添加Sqoop到环境变量中 export SQOOP_HOME/export/server/sqoop export PATH$PATH:$SQOOP_HOME/bin:$SQOOP_HOME/sbinsource /etc/…