params傳參和query傳參

2021-10-03 17:48:54 字數 891 閱讀 7274

當你使用params方法傳參的時候,要在路由後面加引數名,並且傳參的時候,引數名要跟路由後面設定的引數名對應。使用query方法,就沒有這種限制,直接在跳轉裡面用就可以。

注意:如果路由上面不寫引數,也是可以傳過去的,但不會在url上面顯示出你的引數,並且當你跳到別的頁面或者重新整理頁面的時候引數會丟失(如下圖所示),那依賴這個引數的http請求或者其他操作就會失敗。

params傳參和query傳參有什麼區別:

(1)、用法上的

剛query要用path來引入,params要用name來引入,接收引數都是類似的,分別是this.rou

te.q

uery

.nam

e和th

is

.route.query.name和this.

route.

quer

y.na

me和t

his.

route.params.name。

注意接收引數的時候,已經是rou

te而不

是route而不是

route而

不是router了哦!!

(2)、展示上的

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

query:

params:

(3)、params是路由的一部分,必須要有。query是拼接在url後面的引數,沒有也沒關係。

params一旦設定在路由,params就是路由的一部分,如果這個路由有params傳參,但是在跳轉的時候沒有傳這個引數,會導致跳轉失敗或者頁面會沒有內容。

比如:跳轉/router1/:id

正確錯誤

params傳參和query傳參

params傳參 this.router.push query傳參 this.router.push 1 用法上的 query要用path來引入,params要用name來引入,接收引數都是類似的,分別是this.route.query.name和this.route.params.name。注意接...

vue路由傳參 params和query

query傳參 路由 routes 傳參 通過path引入 this router.push 通過name引入 this router.push 接收 com和hhhhome元件中 console.log this route.query params傳參 只能用name引入,不能用path 路由 ...

vue路由傳參params和query的用法和區別

1.params 帶過去id 通過this.router.push 由於動態路由也是傳遞params的,所以在 this.router.push 方法中 path不能和params一起使用,否則params將無效。需要用name來指定頁面。及通過路由配置的name屬性訪問 在路由配置檔案中定義引數 ...