params傳參和query傳參

2021-10-01 11:59:39 字數 782 閱讀 2947

params傳參:

this.$router.push(

})

query傳參:

this.$router.push(

});

(1)、用法上的

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

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

(2)、展示上的

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

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

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

比如:跳轉/router1/:id

1.正確

2.錯誤

(4)、params、query不設定也可以傳參,params不設定的時候,重新整理頁面或者返回引數會丟失。

params傳參和query傳參

當你使用params方法傳參的時候,要在路由後面加引數名,並且傳參的時候,引數名要跟路由後面設定的引數名對應。使用query方法,就沒有這種限制,直接在跳轉裡面用就可以。注意 如果路由上面不寫引數,也是可以傳過去的,但不會在url上面顯示出你的引數,並且當你跳到別的頁面或者重新整理頁面的時候引數會丟...

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屬性訪問 在路由配置檔案中定義引數 ...