vue-router中params和query的区别

query和params是vue router中两个传参的方式,整体上很像,在一些细节上有一定的区别,需要注意一下

先行提示:
两者的获取参数的方式都是采用this.$route
具体为this.$route.query,this.$route.params

1.引入参数借助name还是path?

query参数可以使用name也可以使用path,都可以正常传参
params只能用name,用path的话传不过去,用$route接收不到

2.参数显示在url上?

query传参,参数暴露在url上,拼接在路径后面/index?a=1&b=2

params传参

  1. 如果在路由上配置了某参数且传了该参数,url上就会显示
  2. 如果没配置,传多少都不会显示
  3. 如果配置了,但是没传也不会显示,而且还会报错

3.刷新参数是否会丢失

params传参,刷新会丢失,但如果在路由配置了,可以在url显示的参数,刷新不会丢失
query传参,刷新不会丢失,注意用query就不要路由配置参数了,会报错

4.参数必须提前配置?

query是不需要提前配置的,该问题主要针对params

params配不配置看需求

  1. 无论配不配,跳转后都能用this.$route.params获取到参数
  2. 配不配带来的影响就是参数是否会显示在url中

这几个区别是我在代码中试出来的,如果有缺失还请补充,如果有问题还请指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值