
🤍 前端开发工程师、技术日更博主、已过CET6
🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1
🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》
🍚 蓝桥云课签约作者、上架课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入门到实战全面掌握 uni-app》
文章目录
- 摘要:
- 引言:
- 正文:
- 1. 🔧 `$route`
- 2. 🔧 `$router`
- 3. 🔧 `$route`和`$router`的区别
 
- 🌟 总结
- 参考资料:
 
摘要:
🤔 在Vue开发中,我们经常使用$route和$router这两个概念,但你知道它们之间的区别吗?本文将详细解析$route和$router的不同之处,帮助读者更好地理解和使用它们。👩💻
引言:
🌈 Vue.js框架以其简洁的语法和声明式的数据绑定而受到开发者的喜爱。在Vue中,路由管理是实现单页面应用(SPA)的关键功能。在路由中,我们经常听到$route和$router这两个概念,但你知道它们之间的区别吗?在这篇文章中,我将带你深入了解$route和$router的不同之处。🚀
正文:
1. 🔧 $route
 
类型:
$route是一个对象,它包含了当前路由的信息,如路径、查询参数、路由参数等。
应用场景:通常用于获取当前路由的信息,如在导航守卫中检查当前路由是否符合要求。
$route 是 Vue.js 中的一个对象,它用于管理当前路由的信息。它包含了当前路由的路径、查询参数、路由参数等信息。$route 对象可以在任何组件内访问,它是由 Vue Router 自动注入的。
以下是一些常用的
$route属性和方法:
-  $route.path:当前路由的路径。
-  $route.params:当前路由的动态参数对象。
-  $route.query:当前路由的查询参数对象。
-  $route.name:当前路由的名称。
-  $route.matched:当前路由匹配的路由记录数组。
-  $route.isActive:当前路由是否处于激活状态。
-  $route.isExactActive:当前路由是否处于精确激活状态。
-  $route.replace:将当前路由替换为指定的路由。
以下是一个简单的示例:
<template><div><p>当前路由路径:{{ $route.path }}</p><p>当前路由参数:{{ $route.params }}</p><p>当前路由查询参数:{{ $route.query }}</p><p>当前路由名称:{{ $route.name }}</p><p>当前路由匹配的路由记录数组:{{ $route.matched }}</p><p>当前路由是否处于激活状态:{{ $route.isActive }}</p><p>当前路由是否处于精确激活状态:{{ $route.isExactActive }}</p><button @click="$route.replace('/about')">将当前路由替换为 /about</button></div>
</template><script>
export default {name: 'App',
};
</script>
在这个示例中,我们展示了如何使用 $route 对象的一些属性和方法。当点击按钮时,会将当前路由替换为 /about。
2. 🔧 $router
 
类型:
$router是一个实例,它包含了路由器的配置和操作方法,如添加路由、导航等。
应用场景:通常用于进行路由的跳转、添加导航守卫等操作。
$router 是 Vue.js 中的一个对象,它用于管理路由。它包含了路由的配置、导航、历史记录等功能。$router 对象可以在任何组件内访问,它是由 Vue Router 自动注入的。
以下是一些常用的
$router属性和方法:
-  $router.currentRoute:当前路由对象,包含了当前路由的路径、参数、查询等信息。
-  $router.history:路由历史记录,是一个数组,包含了每次路由跳转的记录。
-  $router.current:当前路由在路由历史记录中的索引。
-  $router.replace:将当前路由替换为指定的路由。
-  $router.push:跳转到指定的路由。
-  $router.back:后退到上一个路由。
-  $router.forward:前进到下一个路由。
以下是一个简单的示例:
<template><div><p>当前路由路径:{{ $router.currentRoute.path }}</p><p>当前路由参数:{{ $router.currentRoute.params }}</p><p>当前路由查询参数:{{ $router.currentRoute.query }}</p><button @click="$router.replace('/about')">将当前路由替换为 /about</button><button @click="$router.push('/contact')">跳转到 /contact</button><button @click="$router.back()">后退</button><button @click="$router.forward()">前进</button></div>
</template><script>
export default {name: 'App',
};
</script>
在这个示例中,我们展示了如何使用 $router 对象的一些属性和方法。当点击按钮时,会执行相应的路由操作。
3. 🔧 $route和$router的区别
 
- 概念:$route是路由信息对象,$router是路由器实例。
- 使用场景:$route用于获取和检查路由信息,$router用于操作路由。
- 功能:$route主要提供路由信息,$router提供路由器的配置和操作方法。
🌟 总结
在本篇文章中,我们详细解析了Vue中的$route和$router的区别。通过对比分析,我们应该对这两个概念有了更深入的了解。在实际开发中,正确使用$route和$router,将使我们的Vue应用更加高效和优质。🚀
参考资料:
- Vue.js官方文档:路由
- Vue Router官方文档
🌟 感谢您的阅读!如果您有任何疑问或建议,欢迎在评论区留言。💬