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

vue中router和route的区别

在Vue.js框架中,$route$router是两个经常被提及的概念,它们在路由功能中扮演着不同的角色。

1.router

//导入路由实例router//组合式代码示例:
<script setup>
import { useRouter } from "vue-router";
const router = useRouter();
</script>//选项式代码示例:
<script>
import { useRouter } from 'vue-router';
export default {setup() {const router = useRouter();},
};
</script>

router是“路由实例”,它是VueRouter的实例,包含了路由的跳转方法、钩子函数等。我们通过router,可以编程式地导航到不同的路由,用router调用跳转方法实现页面跳转,例如:

  • router.push({ path: 'home' }):导航到一个不同的URL,会向history栈添加一个新的记录。

  • router.replace({ path: 'home' }):跳转到一个不同的URL,但不会向history栈添加新的记录。

  • router.go(整数):在history记录中向前或向后跳转。

  • router.back():在history记录中向后跳转。

  • router.forward():在history记录中向前跳转。

 

2.route 

//导入路由信息对象//组合式代码示例:
<script setup>
import { useRoute } from 'vue-router'
const route = useRoute()
</script>//选项式代码示例:
<script>
import { useRoute } from 'vue-router';
export default {setup() {const route = useRoute();},
};
</script>

route是“路由信息对象”,它包含了如路径(path)、查询参数(query)、路由参数(params)等和当前路由相关的信息。这些信息可以帮助开发者获取当前路由的状态,例如:

  • route.path:类型(string字符串),表示当前路由的绝对路径。

  • route.params:类型(Object对象),包含动态片段和全匹配片段的键值对(类似POST请求)。

  • route.query:类型(Object对象),表示URL查询参数(类似GET请求)。

  • route.hash:类型(string字符串),当前路由的hash值。

  • route.fullPath:类型(string字符串),完整的URL路径,包含查询参数和hash值。

  • route.matched:类型( Array<RouteRecord>数组,包含当前匹配的路径中所有片段所对应的配置参数对象。

  • route.name:当前路由的名称,如果有的话。

  • route.meta:路由元信息。

  • route.redirectedFrom:如果存在重定向,即为重定向来源的路由的名字。

    你可以建一个route路由信息对象,并将它在代码中打印出来看看便可明白,router和route的区别。

 

在Vue组件中,$route$router可以通过this.$routethis.$router访问。$route主要用于获取当前路由的详细信息,而$router主要用于触发路由的变化。

例如,当你需要获取当前路由的参数时,你可以使用this.$route.params来获取;当你需要跳转到另一个路由时,你可以使用this.$router.push('/another-route')来实现。

总结来说,$route是关于当前路由的信息的集合,而$router是VueRouter实例,用于控制路由的跳转和操作。

参考文章 

相关文章:

  • 矿井设备通信破局:ModbusTCP转DeviceNet网关应用实践
  • 2025年3月青少年机器人技术等级考试(二级)实际操作真题试卷
  • 从单智到多智:深度拆解基于MetaGPT的智能体辩论
  • Kafka消息不丢失处理
  • leetcode 3342. 到达最后一个房间的最少时间 II 中等
  • IC ATE集成电路测试学习——PLL测试(一)
  • 2025年前端在线协同编辑技术研究
  • 使用Compose编排工具搭建Ghost博客系统
  • 《易语言学习大全》
  • maven如何搭建自己的私服(LINUX版)?
  • ubuntu 22.04 换源
  • Java内存分配
  • 天选5Pro(锐龙版)设备声音、显卡消失等问题完整解决记录
  • C++使用PoDoFo库处理PDF文件
  • WPF实时调试的一种实现方法
  • 推测式思维树:让大模型快速完成复杂推理
  • 探索网络设备安全:Shodan 的原理与合法应用
  • 接口自动化测试框架详解(pytest+allure+aiohttp+ 用例自动生成)
  • C++GO语言微服务基础技术②
  • vite 代理 websocket
  • 悬疑推理联合书单|虫神山事件
  • 国家税务总局泰安市税务局:山东泰山啤酒公司欠税超536万元
  • 比尔·盖茨:未来20年通过盖茨基金会捐出几乎全部财富,2045年底基金会停止运营
  • 国防部:奉劝有关国家不要引狼入室,甘当棋子
  • 商务部再回应中美经贸高层会谈
  • 进化版大巴黎通杀英超,那个男人后悔了吗