淺析vue-router中params和query的區別
阿新 • • 發佈:2021-02-16
技術標籤:Vue
一、引入方式不同
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中不顯示引數
下面整理一下這兩者的差別:
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: