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

useRoute和useRouter

在 Vue 3 中,useRouteuseRouter 是两个常用的组合式 API,用于处理路由相关的功能。

useRoute

useRoute 用于获取当前的路由信息。它返回一个响应式的 route 对象,包含了当前路由的所有信息,例如路径、参数、查询参数等。

用途
  • 获取当前路由的路径、参数、查询参数等。
  • 监听路由的变化。
示例
<template><div><p>Current Path: {{ route.path }}</p><p>Project ID: {{ route.params.projectId }}</p><p>Query Param: {{ route.query.someQueryParam }}</p></div>
</template><script setup>
import { useRoute } from 'vue-router';const route = useRoute();
</script>

useRoute 返回当前的路由对象,可以通过 route.pathroute.paramsroute.query 获取相应的信息。

useRouter

useRouter 用于获取路由实例。它返回一个 router 对象,提供了导航和路由操作的方法,例如跳转到另一个路由、替换当前路由、前进和后退等。

用途
  • 编程式导航(跳转到另一个路由)。
  • 操作路由栈(前进、后退、替换等)。
示例
<template><button @click="goToReport">Go to Report</button>
</template><script setup>
import { useRouter } from 'vue-router';const router = useRouter();const goToReport = () => {router.push({ name: 'CreateCalcPage', params: { projectId: '123', reportId: '456' } });
};
</script>

useRouter 返回路由实例,可以通过 router.push 方法编程式地导航到另一个路由。

总结

  • useRoute

    • 返回当前路由对象。
    • 用于获取当前路由的路径、参数、查询参数等信息。
    • 响应式,可以监听路由的变化。
  • useRouter

    • 返回路由实例。
    • 用于编程式导航和操作路由栈。
    • 提供方法如 pushreplacegoback 等。

具体区别

特性useRouteuseRouter
返回值当前路由对象路由实例
主要用途获取当前路由信息编程式导航和操作路由栈
响应式
常用方法route.path, route.params, route.queryrouter.push, router.replace, router.go, router.back

相关文章:

  • String、StringBuffer和StringBuilder
  • Spring集成ES
  • tpcc压力测试mysql和 ab压力测试云服务器
  • ESP32和mDNS学习
  • Vue3可媲美Element Plus Tree组件开发之append节点
  • 高级及架构师高频面试题-基础型
  • Python --NumPy库基础方法(2)
  • 【k8s故障处理篇】calico-kube-controllers状态为“ImagePullBackOff”解决办法
  • Python | Leetcode Python题解之第278题第一个错误的版本
  • 系统架构设计师教程 第4章 信息安全技术基础知识-4.5 密钥管理技术4.6 访问控制及数字签名技术-解读
  • 某量JS逆向
  • 【时时三省】(C语言基础)循环语句while
  • 大模型算法面试题(十二)
  • scp 服务器复制命令
  • redis:清除缓存的最简单命令示例
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 10个确保微服务与容器安全的最佳实践
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • ES6系统学习----从Apollo Client看解构赋值
  • go语言学习初探(一)
  • HTTP--网络协议分层,http历史(二)
  • PAT A1092
  • SAP云平台里Global Account和Sub Account的关系
  • Sass 快速入门教程
  • Spring Cloud中负载均衡器概览
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 初识 webpack
  • 当SetTimeout遇到了字符串
  • 飞驰在Mesos的涡轮引擎上
  • 给github项目添加CI badge
  • 和 || 运算
  • 使用 Xcode 的 Target 区分开发和生产环境
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • # 透过事物看本质的能力怎么培养?
  • #pragam once 和 #ifndef 预编译头
  • #stm32整理(一)flash读写
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (2)(2.10) LTM telemetry
  • (39)STM32——FLASH闪存
  • (4)Elastix图像配准:3D图像
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (译)计算距离、方位和更多经纬度之间的点
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .equals()到底是什么意思?
  • .net core + vue 搭建前后端分离的框架
  • .net core 的缓存方案
  • .Net mvc总结
  • .NET 依赖注入和配置系统
  • .net6 webapi log4net完整配置使用流程
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?