router-link使用query和params的区别

使用router-link的时候,携带参数有两种方式,query是根据path进行跳转的,而params是根据name进行跳转的,

获取方式都相同

 

query: 地址栏会在名称后面添加问号同时链接参数以及内容

<ul class="locationHot">
    <router-link tag="li" v-for="itemcity in item.cities" :to="{path:'/location/' + 
     item.cityId, query:{cityName: itemcity.cityName}}" :key="itemcity.cityId"> 
     {{itemcity.cityName}}</router-link>
</ul>

   获取: 

 this.cityName = this.$route.query.cityName;

地址栏:

http://localhost:8080/#/location/002?cityName=%E6%9D%AD%E5%B7%9E

 

params:地址栏遵循路由的配置,只是携带参数过去

<ul>
      <router-link tag="li" class="resultDetail" :to="{name:'shopping', params:{address: 
        item.address}}" v-for="(item,index) in resultList" :key="index">
            <div class="area">{{item.area}}</div>
            <div class="address">{{item.address}}</div>    
      </router-link>
</ul>

获取:

this.name = this.$route.params.address; 

地址栏:

http://localhost:8080/#/shopping

 

简述router和route的区别

router:  router是VueRouter的一个对象,通过Vue.use(VueRouter)和VueRouter构造函数得到一个router的实例对象,

               这个对象中是一个全局的对象,他包含了所有的路由包含了许多关键的对象和属性。

route:  route是一个跳转的路由对象,每一个路由都会有一个route对象,是一个局部的对象,可以获取对应的

               name,path,params,query等 ,可以从vue devtools中看到每个路由对象的不同

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值