query语法:
this.$router.push({path:"地址",query:{id:"123"}}); 这是传递参数 this.$route.query.id; 这是接受参数
params语法:
this.$router.push({name:"地址",params:{id:"123"}}); 这是传递参数 this.$route.params.id; 这是接受参数
通过两者的语法我们可以看出来一点区别
1.写法的不同
query的语法用于path编写传参地址 params的语法用于name编写传参地址
2.接收方式不同
接受参数的时候用this.$route.params.name或者this.$route.query.name
3.两者中query在刷新页面的时候参数不会消失 但params在刷新页面的时候参数会消失 可以考虑本地存储解决此问题
4.query传过来的参数会显示到地址栏中 而params传过来的参数不会显示到地址栏中 直白的来说 query相当于get请求,而params相当于post请求