【vue3|第26期】Vue3 中的 useRoute 与 router.currentRoute.value:选择正确的路由访问方式

news2024/11/15 15:38:07

日期:2024年8月22日
作者:Commas
签名:(ง •_•)ง 积跬步以致千里,积小流以成江海……
注释:如果您觉在这里插入代码片有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^
1.01365 = 37.7834;0.99365 = 0.0255
1.02365 = 1377.4083;0.98365 = 0.0006

说在最前面:本文 vue3 的示例代码,在没有另外声名的情况下,均采用 <script setup> 组合式代码风格,风格统一,避免混乱,请各位新老食客放心食用哈 ^ _ ^


文章目录

  • 一、前言
  • 二、useRoute函数:专为 Vue3 的 Composition API 设计
    • 1、特点
    • 2、适用场景
  • 三、router.currentRoute.value:兼容 Vue2 和 Vue3 的选项
    • 1、特点
    • 2、适用场景
  • 四、联系与区别
  • 五、结语


在这里插入图片描述


一、前言


Vue3 中,随着 Composition API 的引入,访问路由信息的方式也发生了变化。本文将探讨 useRoute 函数和 router.currentRoute.value 之间的联系与区别,并帮助你决定在不同场景下应该使用哪一个。

二、useRoute函数:专为 Vue3 的 Composition API 设计


useRouteVue Router 4 中的一个新特性,它为 Vue3 的开发者提供了一个便捷的方式来访问当前激活的路由对象。这个函数只能在组件的 setup 函数内部调用,并返回一个响应式的路由对象引用。

1、特点

  • 响应式更新:随着路由的变化,useRoute 返回的对象会自动更新。
  • 组合式(Composition API) 集成:与 setup 函数和其他 组合式(Composition API) 功能完美集成。
  • 类型安全:在使用 TypeScript 时,useRoute 提供了更好的类型推断和类型安全。
  • 作用域限制:只能在组件的 setup 函数内部使用。

2、适用场景

  • 当你在使用 Vue3Composition API 并且需要在 setup 函数中访问路由信息时。
  • 当你想要复用逻辑并且利用响应式系统时。
  • TypeScript 项目中,当你需要确保路由信息的类型安全时。

三、router.currentRoute.value:兼容 Vue2 和 Vue3 的选项


router.currentRouteVue Router 实例的一个属性,它是一个响应式引用,指向当前激活的路由对象。在 Vue3 中,你需要通过 .value 来访问这个引用的实际值。

1、特点

  • 响应式更新:与 useRoute 类似,router.currentRoute.value 也是响应式的。
  • Options API 兼容:适用于 Vue2 和不使用 setup 函数的 Vue3 项目。
  • 全局访问:可以在任何地方通过访问 Vue Router 实例来获取当前路由信息。

2、适用场景

  • 当你在 Vue2 或者不使用 setup 函数的 Vue3 项目中需要访问路由信息时。
  • 当你需要在全局混入、插件或其他非组件上下文中访问路由信息时。
  • 当你不打算使用 组合式(Composition API) 并且希望保持传统的 选项式(Options API) 风格时。

四、联系与区别


useRouterouter.currentRoute.value 都可以用来访问当前激活的路由对象,且都是响应式的。然而,它们在使用上有明显的区别:

  • 设计目标useRoute 是为 Vue 3 的 Composition API 设计的,而 router.currentRoute.value 是为了兼容 Vue 2 和 Vue 3 的 Options API。
  • 使用位置useRoute 仅限于 setup 函数内部,而 router.currentRoute.value 可以在任何地方通过 Vue Router 实例访问。
  • 类型安全useRoute 在 TypeScript 中提供了更好的类型支持。

五、结语


在选择 useRoute 还是 router.currentRoute.value 时,你应该考虑以下因素:

  • 你的项目是基于 Vue2 还是 Vue3
  • 你是否在使用 Vue3Composition API
  • 你是否需要类型安全的路由信息?

理解这些因素,将能帮助你做出最佳的选择,以便在不同的项目和团队环境中有效地访问路由信息。


参考文章:

  • 《Vue Router官方文档》
  • 《Vue.js 选项式 API》
  • 《Vue.js 组合式 API》

版权声明:本文为博主原创文章,如需转载,请给出:
原文链接:https://blog.csdn.net/qq_35844043/article/details/141463023

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

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

相关文章

推荐4款2024年专业的电脑远程控制软件。

为了能够打破空间的限制&#xff0c;远程控制工具被越来越多的人使用。它们可以帮助提高工作效率&#xff0c;方便远程技术支持等。今天&#xff0c;就让我们一起来了解一下网上比较火的4款远程控制电脑的软件。 &#xff11;、向日葵 直达链接&#xff1a;https://down.oray.…

如何使用python脚本爬取微信公众号文章?

1、什么是爬虫&#xff1f; 在座的各位可能经常听到一个词&#xff0c;叫“爬虫”&#xff0c;这是一种能够悄无声息地将网站数据下载至本地设备的程序。利用爬虫&#xff0c;您无需亲自访问特定网站&#xff0c;逐个点击并手动下载所需数据。相反&#xff0c;爬虫能够全自动地…

FL Studio24苹果mac电脑破解绿色版安装包下载

FL Studio 24最新版本&#xff0c;这可不仅仅是一个音乐制作软件的升级&#xff0c;它是音乐创作爱好者的福音&#xff0c;是专业制作人的心头好。那么&#xff0c;它究竟有哪些魔力&#xff0c;能让这么多人为之疯狂呢&#xff1f; 我们来看看它的界面。FL Studio 24的界面设…

XGBoost中正则化的9个超参数

正则化是一种强大的技术,通过防止过拟合来提高模型性能。本文将探索各种XGBoost中的正则化方法及其优势。 为什么正则化在XGBoost中很重要? XGBoost是一种以其在各种机器学习任务中的效率和性能而闻名的强大算法。像任何其他复杂模型一样,它可能会过拟合,特别是在处理噪声数据…

x-cmd mod | x scoop - Windows 开源包管理工具

目录 介绍主要特点例子子命令 介绍 scoop 是 windows 的第三方包管理工具&#xff0c;与 winget, choco, chocolatey 类似。 本模块在 scoop 的基础上做了增强&#xff0c;使其可与 shell 无缝集成&#xff0c;并提供更多的功能。 主要特点 自动下载&#xff1a; 通过调用 S…

汇编语言:cmp、je、jne、jb、jnb、ja、jna 指令

一. cmp 指令 1. cmp 指令功能 cmp (compare) 是比较指令&#xff0c;cmp 的功能相当于减法指令&#xff0c;只是不保存结果&#xff0c;但会根据结果对标志寄存器进行设置&#xff0c;其它相关指令就可以通过识别这些被影响的标志寄存器的位来得知比较结果。 2. cmp指…

python爬虫:selenium+browsermobproxy实现浏览器请求抓取(模块安装详解)

前言 本来很多场景用beautiful和requests就能解决的&#xff0c;但是最近发现了某些网站会使用<link>来链接网页信息&#xff0c;让我没办法通过requests获取页面的具体内容&#xff1b;并且接口也加入了某种token的生成方案&#xff0c;导致我无从下手。 因此&#xff0…

Scrapy 分布式爬虫框架 Scrapy-Redis

github官网代码示例&#xff1a;https://github.com/rmax/scrapy-redis/blob/master/example-project/example/spiders/myspider_redis.py 什么是 Scrapy-Redis Scrapy-Redis 是一个基于 Scrapy 的扩展&#xff0c;用于实现分布式爬虫。它利用 Redis 作为分布式队列来共享待爬…

.NET_web前端框架_layui_栅格布局

基础概念 layui:用于简化前端编写的框架。响应式布局&#xff08;Responsive Layout&#xff09;:一种网页设计方法&#xff0c;使网页能够根据不同设备的屏幕尺寸和分辨率自动调整其内容和布局。栅格布局&#xff08;Grid Layout&#xff09;:一种网页设计布局方法&#xff0c…

计算机毕业设计选题推荐-OA办公管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

【IEEE出版,连续7年稳定发表】第八届电气、机械与计算机工程国际学术会议(ICEMCE 2024,10月25-27)

由西京学院主办&#xff0c;AEIC学术交流中心协办&#xff0c;中国科学技术大学、深圳大学、浙江工业大学等校联合支持的第八届电气、机械与计算机工程国际学术会议&#xff08;ICEMCE 2024&#xff09;将于2024年10月25日至27日在西安举办。 本次会议主要围绕“电气”、"…

电脑文件自动加解密如何实现?3个方法教会你!

电脑文件的自动加解密是一项非常实用的功能&#xff0c;可以帮助确保数据的安全性。 以下是三种实现电脑文件自动加解密的方法&#xff1a; 方法一&#xff1a;使用操作系统自带的加密功能 Windows BitLocker&#xff1a; 启用BitLocker&#xff1a;在Windows系统中&#xf…

SpringBoot 项目——抽奖系统

本项目主要实现的功能是&#xff1a;主要服务于管理员用户&#xff0c;其可圈选奖品&#xff0c;人员来创建抽奖活动&#xff0c;并进行在线抽奖&#xff0c;并可通过短信或邮件的方式通知中奖者&#xff0c;同时普通用户可查看已结束的抽奖活动的中奖结果&#xff1b; 一、项…

ViT篇外:NVIDIA Llama-3.1-Minitron 4B

相关阅读&#xff1a; ViT&#xff1a;3 Compact Architecture MobileLLM&#xff1a;“苗条”的模型比较好&#xff01; 大家也许会很好奇为什么在ViT章节插入了NVIDIA Llama-3.1-Minitron 4B&#xff0c;ViT因为应用场景的特殊性所以都寄希望于高效率的模型&#xff0c;因…

【C语言】浮点型数据在内存中的储存

浮点型数据在内存中的储存 文章目录 浮点型数据在内存中的储存引例概念提出浮点型数据储存规定对于有效数字M的特别规定对于指数E的特别规定指数E的储存指数E的读取 利用规则解释原因 在之前学习过整形数据在内存中的储存后&#xff0c;浮点型数据在内存中的储存又会怎样呢&…

AI辅助论文写作已成大趋势,这些AI工具分享给你

近年来&#xff0c;人工智能语言模型迅速发展&#xff0c;特别是在美国人工智能研究实验室 OpenAI 于 2022 年 11 月发布了聊天机器人 ChatGPT 后&#xff0c;引发了全球范围内的广泛讨论。人们惊叹着一个新的人工智能时代已经到来&#xff0c;预示着许多工作将被这类机器人所取…

二叉树刷题(1)

二叉树题目讲解&#xff08;1&#xff09; 一、构建二叉树并且遍历&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码 二、对称二叉树1、思路2、代码 三、相同的树1、思路2、代码 四、单值二叉树1、思路2、代码 五、另一棵树的子树1、思路2、代码 一、构建二叉树并且…

【Rust日报】一本新书:黑帽Rust

2024 Rust中国大会大会将于 9 月 07 日 - 08 日在上海举办。精彩议题逐步放出中&#xff0c;欢迎大家面对面交流。 2024 Rust中国大会报名链接暨第一批精彩演讲主题介绍 2024 Rust中国大会第二批精彩演讲主题列表 2024 Rust中国大会第三批精彩演讲主题列表 马尔科夫文本生成算法…

多线程(5)——锁策略、CAS、JUC常见类

1. 常见锁策略 1.1 乐观锁 & 悲观锁 乐观锁 & 悲观锁 也不是指具体某个锁&#xff0c;而是 “锁的一种特点”&#xff0c;描述了 “一类锁” 乐观锁&#xff1a;加锁的时候&#xff0c;假设出现锁冲突的概率不大 > 接下来围绕加锁要做的工作就会更少悲观锁&#…

minio 后端大文件分片上传,合并,删除分片

背景 网上大多数minio大文件上传都是采用后台返回前端预上传链接&#xff0c;然后由前端去put请求直接和minio通信上传分片文件&#xff0c;然后调用后台合并分片逻辑来达到快申诉上传的目的&#xff0c;详情可以参考我的上两篇文章 最近有个项目域名是https的&#xff0c;但…