一、引入方式不同
query要用path来引入
this.$router.push({
path: 'test',
query: {
type: 2,
detail: '哈哈'
}
})
params要用name来引入
this.$router.push({
name: 'test',
query: {
type: 2,
detail: '哈哈'
}
})
二、url不同
-
query在url中显示参数
http://localhost:8080/detail?type=0&detail=哈哈 -
params在url中不显示参数
http://localhost:8080/detail
下面整理一下这两者的差别:
1、用法上的
刚才已经说了,query要用path来引入,params要用name来引入,接收参数都是类似的,分别是this. r o u t e . q u e r y . n a m e 和 t h i s . route.query.name和this. route.query.name和this.route.params.name。
注意接收参数的时候,已经是$route而不是$router了哦!!
2、展示上的
query更加类似于我们ajax中get传参,params则类似于post,说的再简单一点,前者在浏览器地址栏中显示参数,后者则不显示
query:
params: