$router和$route的区别?

简介: $ router是用来操作路由的,$ route是用来获取路由信息的。

区别

简单来说

$router是用来操作路由的,$ route是用来获取路由信息的

$ router

$router是VueRouter的一个实例

他包含了所有的路由,包括路由的跳转方法,钩子函数等,也包含一些子对象(例如history)

常用的方法有

this.$router.push("/login");
//使用对象的形式 不带参数
this.$router.push({ path:"/login" });
//使用对象的形式,参数为地址栏上的参数
this.$router.push({ path:"/login",query:{username:"jack"} }); 
使用对象的形式 ,参数为params 不会显示在地址栏
this.$router.push({ name:'user' , params: {id:123} });

$ route

$route是一个跳转的路由对象(路由信息对象),每一个路由都会有一个$route对象,是一个局部的对象。


$route.path

字符串,等于当前路由对象的路径,会被解析为绝对路径,如 “/home/news” 。


$route.params

对象,包含路由中的动态片段和全匹配片段的键值对。


$route.query

包含路由中查询参数的键值对。例如,对于/home/news/detail/01?favorite=yes,会得到route.query.favorite == ‘yes‘ 。


$route.router

路由规则所属的路由器(以及其所属的组件)。


$route.matched

数组,包含当前匹配的路径中所包含的所有片段所对应的配置参数对象。


$route.name

当前路径的名字,如果没有使用具名路径,则名字为空。


  • 在页面上添加以下代码,可以显示这些路由对象的属性:
<div>
  <p>当前路径:{{$route.path}}</p>
  <p>当前参数:{{$route.params | json}}</p>
  <p>路由名称:{{$route.name}}</p>
  <p>路由查询参数:{{$route.query | json}}</p>
  <p>路由匹配项:{{$route.matched | json}}</p>
</div>
相关文章
|
存储 JavaScript 开发者
Pinia和Vuex的区别
Pinia和Vuex的区别
2393 0
|
3月前
|
SQL JavaScript Java
三层架构理解(实现前后端分离)
本文介绍了三层架构实现前后端分离的流程,从前端Vue发起请求,到后端Spring处理数据,最后返回结果并由前端渲染展示。同时详细解析了Bean重复问题的解决方案,包括使用@Service、@Primary、@Qualifier和@Resource注解进行依赖注入控制。此外还介绍了MyBatis中#{}与${}的区别及使用场景,以及三层架构中各组件的协作方式。
|
JavaScript 前端开发 小程序
js将数组中相同的元素进行分组 必看
js将数组中相同的元素进行分组 必看
208 1
|
前端开发 微服务
Element-Plus 表格 el-table 如何支持分页多选
Element-Plus 表格 el-table 如何支持分页多选
element中el-cascader级联 下拉选择-可单独多选(整理)
element中el-cascader级联 下拉选择-可单独多选(整理)
|
Web App开发 数据安全/隐私保护
解决input标签自动填充内容的问题
解决input标签自动填充内容的问题
|
7月前
|
JavaScript 前端开发
|
资源调度 JavaScript
Vue + Element-ui组件上传图片报错问题解决方案
Vue + Element-ui组件上传图片报错问题解决方案
|
数据可视化 定位技术 Python
数据可视化——绘制带有时间线的柱状图
数据可视化——绘制带有时间线的柱状图
|
存储 Linux 开发工具
Linux手动升级替换Android Studio
【6月更文挑战第22天】
431 8