vue路由传参--------params和query的区别

vue路由传参--------params和query的区别

背景:项目中需要跨页面传值,如试题id,遇到了刷新后,传的值消失,所以研究了以下两者的区别

1.params只能用name来引入路由,query用path/name来引入

2.params类似于post,query更加类似于我们ajax中get传参,说的再简单一点,前者在浏览器地址栏中不显示参数,后者显示,所以params传值相对安全一些。

3.取值用法类似分别是this.$route.params.name和this.$route.query.name。

4.params传值一刷新就没了,query传值刷新还存在

5.query地址栏中有参数信息 eg:http://localhost:8080/#/spoc-eduManage/classManage/addStudent.html?id=274de6fe001f474b89d4ed89a9a71970

this.$router.push({

path:"/detail",

params:{

name:'nameValue',

code:10011

}

});

this.$router.push({

path:'/xxx'

query:{

id:id

}

})

6.vue-router 利用url传递参数:

我们上面虽然已经学会传递参数,但是我们这些老程序员的情怀还是利用url来传值,因为我们以前在前后端没有分开开发的时候,经常这样做。在实际开发也是有很多用URL传值的需求,比如我们在新闻列表中有很多新闻标题整齐的排列,我们需要点击每个新闻标题打开不同的新闻内容,这时在跳转路由时跟上新闻编号就十分实用。

路由文件中这样写:

{

path:'/params/:id',

component:Params

}

这时候我们可以直接利用url传值了跳转:

方式1:<router-link to="/params/198">params</router-link>

方式2:编程式路由:

 this.$router.push({

path:'/xxx'

params:{

id:'198'

}

})

接收参数:

<p>新闻ID:{{ $route.params.newsId}}</p>

<p>新闻标题:{{ $route.params.newsTitle}}</p>

我们已经实现了以url方式进行传值,这在实际开发中经常使用,必须完全了解。我希望你看完视频后或者学完文章后能多练习两边,并在实际项目中充分使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值