Vue笔记 路由的query参数、命名路由、路由的params参数、路由的props配置

本文介绍了Vue.js中路由的query参数、命名路由、params参数和props配置的使用方法。包括如何传递和接收query参数,命名路由的简化跳转方式,params参数的配置与接收,以及props配置如何使组件便捷获取参数。

一、路由的query参数

     1、传递参数

<!-- 跳转路由并携带query参数,to的字符串写法 -->
<router-link :to="`/home/messages/detail?id=${m.id}&title=${m.title}`">{{m.title}}</router-link>&nbsp;&nbsp; 

<!-- 跳转路由并携带query参数,to的对象写法 -->
<router-link :to="{
    path:'/home/messages/detail',
    query:{
      id:m.id,
      title:m.title
     }
   }">
{{m.title}}
</router-link>&nbsp;&nbsp;

2、接收参数

$route.query.id

$route.query.title

二、命名路由

1、作用:可以简化路由的跳转

2、如何使用:

(1)给路由命名:

{
        path:'/home',
        component:MyHome,
           children:[  
               {
                   path:'news',  
                   component:MyNews
               },
               {   
                   name:'hello'  //给路由命名
                   path:'messages',
                   component:MyMessages
               }
           ]
    }

(2)简化跳转:

简化前,需要写完整的路径
<router-link to="/demo/test/welcome">跳转</router-link>

简化后,直接通过名字跳转
<router-link :to="{name:'hello'}">跳转</router-link>

简化写法配合传递参数
<router-link 

    :to="{
       name:'hello',
       query:{
          id:666,
          title:'你好'
   
      }
    }"
>跳转</router-link>

三、路由的params参数

1、配置路由,声明接收params参数

{
        path:'/home',
        component:MyHome,
           children:[  
               {
                   path:'news',  
                   component:MyNews
               },
               { 
                    component:MyMessages,
                    children:[
                         name:'hello',
                         path:'detail/:id/:title',  //使用占位符声明接收params参数
                         component:MyDetail
                  ]  
               }
           ]
    }

2、传递参数

<!-- 跳转路由并携带params参数,to的字符串写法 -->
<router-link :to="`/home/messages/detail/${m.id}&/${m.title}`">{{m.title}}</router-link>&nbsp;&nbsp; 

<!-- 跳转路由并携带params参数,to的对象写法 -->
<router-link :to="{
    name:'hello',
    params:{
      id:m.id,
      title:m.title
     }
   }">
{{m.title}}
</router-link>&nbsp;&nbsp;

特别注意: 路由携带params参数时,若使用to的对象写法,则不能使用path配置项,必须使用name配置

3、接收参数

$route.params.id

$route.params.title

四、路由的props配置

作用:让路由组件更方便的收到参数

{
  name:'xiangqiang',
  path:'detail/:id',
  component:MyDetail,
  
//第一种写法:props值为对象,该对象中所有的key-value的组合最终会通过props传给MyDetail组件
//props:{a:900}

//第二种写法:props值为布尔值,布尔值为true,则把路由收到的所有params参数通过props传给MyDetail组件
//props:true

//第三种写法:props值为函数,该函数返回的对象中每一组key—value都会通过props传给MyDetail
props(route){
   return{
     id:route.query.id,
     title:route.query.title
  }
 }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翘阳啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值