1. 程式人生 > 其它 >淺析vue-router中params和query的區別

淺析vue-router中params和query的區別

技術標籤:Vue

一、引入方式不同

query要用path來引入

this.$router.push({
  path: 'test',
  query: {
    type: 2,
    detail: '哈哈'
  }
})

params要用name來引入

this.$router.push({
  name: 'test',
  query: {
    type: 2,
    detail: '哈哈'
  }
})

二、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.namethis.route.params.name。

注意接收引數的時候,已經是$route而不是$router了哦!!

2、展示上的

query更加類似於我們ajax中get傳參,params則類似於post,說的再簡單一點,前者在瀏覽器位址列中顯示引數,後者則不顯示

query:
在這裡插入圖片描述
params:
在這裡插入圖片描述