vue 路由传参 params 与 query两种方式的区别

用params来传参

this.$router.push({
 path:"/detail",
 params:{
   name:'java',
 }
});

接收参数的时候:

this.$route.params.name    //undefined

这是因为,params只能用name来引入路由,下面是正确的写法:

this.$router.push({
   name:"detail",
   params:{
    name:'java',
 }
});
 this.$route.params.name    //java

这两者的差别:
1、用法
  query要用path来引入,params要用name来引入,接收参数类似,分别是this.$route.query.namethis.$route.params.name

2、显示
  query更加类似于我们ajax中get传参,params则类似于post,说的再简单一点,前者在浏览器地址栏中显示参数,后者则不显示
3 、刷新
通过路由params传值,刷新页面数据消失会报错(关于刷新页面数据消失原因有两种,一是通过路由params传值,二是vuex传值) ,query方法则不会

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值