Vue3之路由认识
回顾:
原来的vue2路由是通过this. r o u t e 和 t h i s . route和this. route和this.router来控制的。现在vue3有所变化,useRoute相当于以前的this. r o u t e ,而 u s e R o u t e r 相当于 t h i s . route,而useRouter相当于this. route,而useRouter相当于this.router
一、 路由搭建
1. 安装依赖并新建router.js进行路由配置
注: 可以采用路由抛出的形式,按模块进行引用
npm install vue-router@4
router.js
import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'
import featureManage from '@/router/featureManage'const routes: Array<RouteRecordRaw> = [// 模块导入的路由...featureManage,
]
const router = createRouter({
// 初始化路由配置history: createWebHashHistory(),routes,
})
export default router
/router/featureManage.js
export default [{path: '/featureList',name: 'featureList',component: () => import('@/views/featureList/Index.vue'),},
]
main.js
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
// 引入路由
createApp(App).use(router).use(MTD).mount('#app')
二、路由之间的通信
useRouter 的用法
在前端开发中,我们经常需要程序处理用户的路由导航,这时候就需要用到 useRouter。它是一个用于获取当前路由实例的函数,我们可以调用这个函数来获取路由实例,然后进行路由导航。
useRoute 的用法
除了需要导航路由之外,我们还需要获取一些路由信息,这时候就需要用到 useRoute。它是一个用于获取当前路由对象的函数,我们可以调用这个函数来获取路由的参数、查询参数等信息。
1. 引入路由
import { useRouter, useRoute } from 'vue-router'
2. 定义变量
const $router = useRouter() // 这是路由跳转的
const $route = useRoute() // 用于接收路由参数的
3.使用
(1)路由跳转($router)
-
显式传参query (path与query搭配),传参在url地址栏上显示
方式一:
$router.push('/add?name=12&age=12') // add/是要跳转的路由 name、age是参数方式二:
$router.push({path: '/add', query: {name: "12",age: 12 }})显示query在浏览器的url上,如果你直接通过字符串的方式去取,可能会涉及转码等问题,当然useRoute将这些都处理好了,所以还是推荐通过useRoute.query去取显式路由的参数
-
隐式传参params(params与name搭配)
注意:隐式params在刷新后可能会消失,我们可以在它存在的时候存如缓存中,如localstorage
隐式params比显式query相对而言更安全,不会将参数直接暴露给用户(2)获取参数($route)
const name = $route.query.name // 获取路由的name参数值 const age = $route.query.age // 获取路由的age参数值 // 或者如果name和params搭配的话,可通过params获取参数 // $route.params
三、总结
useRouter 和 useRoute 是 Vue.js 3.2 中新增的两个用于路由管理的 Composition API。 useRouter 用于获取路由实例。而 useRoute 用于获取当前路由对象。使用这两个 API,我们可以更加方便地管理前端路由,提高开发效率。
相关文章:
Vue3之路由认识
回顾: 原来的vue2路由是通过this. r o u t e 和 t h i s . route和this. route和this.router来控制的。现在vue3有所变化,useRoute相当于以前的this. r o u t e ,而 u s e R o u t e r 相当于 t h i s . route,而useRouter相当于t…...
P1775 石子合并(弱化版)(内附封面)
石子合并(弱化版) 题目描述 设有 N ( N ≤ 300 ) N(N \le 300) N(N≤300) 堆石子排成一排,其编号为 1 , 2 , 3 , ⋯ , N 1,2,3,\cdots,N 1,2,3,⋯,N。每堆石子有一定的质量 m i ( m i ≤ 1000 ) m_i\ (m_i \le 1000) mi (mi≤1000)。…...
jmeter之接口测试(http接口测试)
基础知识储备 一、了解jmeter接口测试请求接口的原理 客户端--发送一个请求动作--服务器响应--返回客户端 客户端--发送一个请求动作--jmeter代理服务器---服务器--jmeter代理服务器--服务器 二、了解基础接口知识: 1、什么是接口:前端与后台之间的…...
webpack基础知识二:说说webpack的构建流程?
一、运行流程 webpack 的运行流程是一个串行的过程,它的工作流程就是将各个插件串联起来 在运行过程中会广播事件,插件只需要监听它所关心的事件,就能加入到这条webpack机制中,去改变webpack的运作,使得整个系统扩展…...
PHP使用PhpSpreadsheet实现导出Excel时带下拉框列表 (可支持三级联动)
因项目需要导出Excel表 需要支持下拉 且 还需要支持三级联动功能 目前应为PHPExcel 不在维护,固采用 PhpSpreadsheet 效果如图: 第一步:首先 使用composer 获取PhpSpreadsheet 我这里PHP 版本 7.4 命令如下: composer r…...
Openssh高危漏洞CVE-2023-38408修复方案
0x01 漏洞简述 2023年07月21日,360CERT监测发现OpenSSH发布了OpenSSH的风险通告,漏洞编号为CVE-2023-38408,漏洞等级:高危,漏洞评分:8.1。 OpenSSH 是 Secure Shell (SSH) 协议的开源实现,提供…...
Android中的ContentProvider
Android中的ContentProvider 在Android中,ContentProvider是四大组件之一,用于在不同应用程序之间共享和管理数据。它提供了一种标准化的方式来访问和管理应用程序的数据,使得多个应用程序可以安全地共享数据,而无需直接访问彼此…...
if device is None and isinstance(net, torch.nn.Module):的含义?
这段代码的含义是,如果变量 device 为 None 并且 net 是 torch.nn.Module 的实例,那么执行后续的代码块。 解释一下其中的几个部分: device:这是一个代表设备的变量,通常用于指定在哪个设备上执行模型的计算ÿ…...
C++如何用OpenCV中实现图像的边缘检测和轮廓提取?
最近有个项目需要做细孔定位和孔距测量,需要做边缘检测和轮廓提取,先看初步效果图: 主要实现代码: int MainWindow::Test() {// 2.9 单个像素长度um 5倍double dbUnit 2.9/(1000*5);// 定义显示窗口namedWindow("src"…...
智慧水务和物联网智能水表在农村供水工程中的应用
摘 要:随着社会的进步和各项事业的飞速发展,人民生活水平的逐步提升,国家对农村饮水安全有了更高的要求,为了进一步提升农村供水服务的质量,利用现代化、信息化科学技术提升农村供水服务质量,提高用水管理效…...
机器学习笔记 - 了解 GitHub Copilot 如何通过提供自动完成式建议来帮助您编码
一、GitHub Copilot介绍 GitHub Copilot 是世界上第一个大规模 AI 开发人员工具,可以帮助您以更少的工作更快地编写代码。GitHub Copilot 从注释和代码中提取上下文,以立即建议单独的行和整个函数。 研究发现 GitHub Copilot 可以帮助开发人员更快地编码、专注于解决更大的问…...
《数据同步-NIFI系列》Nifi配置DBCPConnectionPool连接SQL Server数据库
Nifi配置DBCPConnectionPool连接SQL Server数据库 一、新增DBCPConnectionPool 在配置中新增DBCPConnectionPool,然后配置数据库相关信息 二、配置DBCPConnectionPool 2.1 DBCPConnectionPool介绍 主要介绍以下五个必填参数 Database Connection URL࿱…...
HarmonyOS/OpenHarmony元服务开发-卡片使用自定义绘制能力
ArkTS卡片开放了自定义绘制的能力,在卡片上可以通过Canvas组件创建一块画布,然后通过CanvasRenderingContext2D对象在画布上进行自定义图形的绘制,如下示例代码实现了在画布的中心绘制了一个笑脸。 Entry Component struct Card { private c…...
SpringBoot引入MyBatisGenerator
1.引入插件 <plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.5</version><configuration><!--generator配置文件所在位置--><configuratio…...
JVM面试题--实践
目录 JVM 调优的参数可以在哪里设置参数值 war包部署在tomcat中设置 jar包部署在启动参数设置 JVM 调优的参数都有哪些? 设置堆空间大小 虚拟机栈的设置 年轻代中Eden区和两个Survivor区的大小比例 年轻代晋升老年代阈值 设置垃圾回收收集器 JVM 调优的工…...
神经网络的搭建与各层分析
为什么去西藏的人都会感觉很治愈 拉萨的老中医是这么说的 缺氧脑子短路,很多事想不起来,就会感觉很幸福 一、卷积层 解释:卷积层通过卷积操作对输入数据进行处理。它使用一组可学习的滤波器(也称为卷积核或特征检测器)…...
SQL-每日一题【1174. 即时食物配送 II】
题目 配送表: Delivery 如果顾客期望的配送日期和下单日期相同,则该订单称为 「即时订单」,否则称为「计划订单」。 「首次订单」是顾客最早创建的订单。我们保证一个顾客只会有一个「首次订单」。 写一条 SQL 查询语句获取即时订单在所有用户的首次订…...
MySQL学习记录:第一章 DQL语言
文章目录 第一章 查询语言,DQL语言一、基础查询1、查询表中单个字段2、查询表中多个字段3、查询表中所有字段4、查询常量值5、查询表达式6、查询函数7、起别名8、去重9、+号的作用二、条件查询1、按条件表达式筛选2、按逻辑表达式筛选三、模糊查询四、排序查询五、常见函数1、…...
redis+token+分布式锁确保接口的幂等性
目录 1.幂等性是什么? 2.如何实现幂等性呢? 1.新增管理员,出弹窗的同时,请求后台。 2.后端根据雪花算法生成唯一标识key,以雪花数为key存到redis。并返回key给前端。 3.前端保存后端传过来的key。 4.前端输入完成…...
Vue模版语法
目录 接下来学习click 例题:修改背景颜色 例题:反复点击button按钮,可以不断切换背景颜色 先看以下例题是回顾vue的用法 <body><div id"box">{{myname}} - {{myage}}</div><script>var vm new Vue({el…...
嵌入式 - shell 常用语法简单总结
初步使用#!bin/bashecho "Hello world!"echo# shellvim helloworld.shchmod ux helloworld.sh# 在当前bash运行. helloworld.shsource helloworld.sh# 在子bash中运行,无法修改当前shell的变量./helloworld.shLinux中工具链的配置 ~/.bashrc用于定义当前…...
Janus-Pro-7B入门指南:零基础Python调用与第一个AI应用创建
Janus-Pro-7B入门指南:零基础Python调用与第一个AI应用创建 你是不是对AI大模型充满好奇,想亲手试试调用一个强大的模型,但又觉得门槛太高,被各种复杂的部署和配置劝退?别担心,今天我们就来彻底解决这个问…...
深入解析Jinja2模板引擎:render与generate函数的实战应用
1. Jinja2模板引擎基础入门 第一次接触Jinja2时,我完全被它的简洁和强大震撼到了。这个由Armin Ronacher开发的模板引擎,最初是为了解决Django模板的局限性而诞生的。经过多年发展,它已经成为Python生态中最受欢迎的模板引擎之一。 安装Jinja…...
Windows 11 + CUDA 12.1 保姆级教程:手把手搞定Detectron2环境搭建(含Git加速与权限避坑)
Windows 11 CUDA 12.1 终极指南:零障碍搭建Detectron2开发环境 RTX 40系显卡用户注意了!如果你正在Windows 11上尝试搭建Detectron2开发环境,却苦于找不到针对CUDA 12.1的完整解决方案,这篇指南将为你扫清所有障碍。不同于网上那…...
Graphormer开源大模型实战:分子图建模替代传统GNN的5大优势解析
Graphormer开源大模型实战:分子图建模替代传统GNN的5大优势解析 1. Graphormer模型概述 Graphormer是微软研究院开发的基于纯Transformer架构的图神经网络模型,专门为分子图(原子-键结构)的全局结构建模与属性预测而设计。与传统…...
南北阁模型新玩法:一键部署极简WebUI,体验手机短信般AI对话
南北阁模型新玩法:一键部署极简WebUI,体验手机短信般AI对话 还在用那些界面老旧、反应迟钝的AI对话工具吗?每次发送问题后,只能盯着屏幕上的加载图标干等,几秒甚至十几秒后才能看到一大段文字“啪”地一下弹出来&…...
C-index避坑指南:生存分析中90%人会犯的5个评估错误
C-index避坑指南:生存分析中90%人会犯的5个评估错误 在临床研究和生物统计领域,C-index(Harrells concordance index)作为评估生存分析模型预测性能的核心指标,其正确计算与解读直接影响研究结论的可靠性。然而&#x…...
手把手教你搭建RAG知识库:从零到一,让你的知识库从“仓库”变“助手”!
本文详细介绍了如何搭建RAG知识库,通过四个核心组件——文档处理器、嵌入模型、向量数据库和大语言模型,实现知识的有效管理和利用。文章以作者自制的知识工场为例,阐述了从文档处理、知识拆解、向量化到存储、检索和回答的完整流程ÿ…...
实时行情系统设计:从协议选择到高可用架构,再到数据源选型
一、核心问题及解决方案(按踩坑频率排序) 问题 1:误删他人持有锁——最基础也最易犯的漏洞 成因:释放锁时未做身份校验,直接执行 DEL 命令删除键。典型场景:服务 A 持有锁后,业务逻辑耗时超过锁…...
PX4无人机Offboard模式实战:从Gazebo仿真到真机避坑指南(附Python/C++代码对比)
PX4无人机Offboard模式全流程实战:从仿真到真机的Python/C双语言开发指南 1. Offboard模式核心原理与开发环境搭建 Offboard模式是PX4飞控系统中最为强大的控制模式之一,它允许开发者通过外部计算机(如运行ROS的机载电脑)发送精确…...
