params傳參:
this.$router.push(
})
query傳參:
this.$router.push(
});
(1)、用法上的
query要用path來引入,params要用name來引入,接收引數都是類似的,分別是this.$route.query.name
和this.$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屬性訪問 在路由配置檔案中定義引數 ...