vue中$router和$route的区别及$route的参数简介

$router和 $route区别

在vue2.0里页面参数是this.$ route.query或者this.$route.params接收router-link传的参数.

在路由跳转的时候除了用router-link标签以外需要在script标签在事件里面跳转,所以有个方法就是在script标签里面写this.$router.push(‘需要跳转的路径名’),

在写的时候发现这两个为什么不同,在控制台打出this的时候,发现$ route和$router同时存在

$route为当前router跳转对象里面可以获取name/path/query/params等

$ router为VueRouter实例,想要导航到不同URL,则使用$router.push方法

返回上一个history也是使用$router.go方法

路由对象$route的参数

在使用呢了vue-router的应用中,路由对象会被注入每个组件中,赋值为this.$route,并且当路由切换时,路由对象会被更新.

so,路由对象暴露了以下属性:

1.$route.path
字符串,等于当前路由对象的路径,会被解析为绝对路径,如"/home/news".

2.$route.params
对象,包含路由中的动态片段和全匹配片段的键值对.

3.$ route.params
对象,包含路由中查询参数的键值对.例如,对应/home/news/detail/01?favorite=yes,会得到$rorute.query.favorite == “yes”

4.$route.router
路由规则所属的路由器(以及其 所属的组件)

5.$route.matched
数组,包含当前匹配的路径中所包含的所有片段所对应的配置参数对象.

6.$route.name
当前路径的名字,如果没有使用具名路径,则名字为空.

在页面上添加以下代码,可以显示这些路由对象的属性:

1 <div>
2 <p>当前路径:{
    
    {
    
    $route.path}}</p>
3 <p>当前参数:{
    
    {
    
    $route.params | json}}</p>
4 <p>路由名称:{
    
    {
    
    $route.name}}</p>
5 <p>路由查询参数:{
    
    {
    
    $route.query | json}}</p>
6 <p>路由匹配项:{
    
    {
    
    $route.matched | json}}</p>
7 </div>

猜你喜欢

转载自blog.csdn.net/weixin_49299412/article/details/108677083