vue 中,params 用于傳遞必需動態數據(如 /users/:id 中的 :id),在 $route.params 中訪問,常用于傳遞特定 id 等必填參數;query 用于傳遞可選附加數據(如 /users?name=john&age=30),在 $route.query 中訪問,常用于傳遞篩選器等可選項。
Vue 中 params 和 query 傳參的區別
開門見山
Vue 中,params 和 query 都是用于在路由間傳遞數據的兩種方式,但它們在用途和行為上有所不同。
詳細展開
params
用于傳遞必須包含在 URL 中的動態數據。
作為路由路徑的一部分存在,例如 /users/:id 中的 :id。
在 $route.params 中訪問。
主要用于傳遞特定資源或實體的 ID 等必需參數。
query
用于傳遞附加到 URL 中查詢字符串中的可選數據。
以 ? 分隔符后綴到 URL,例如 /users?name=John&age=30。
在 $route.query 中訪問。
通常用于傳遞篩選器、排序或其他可選項。
其他區別
URL 格式: params 出現在路徑中,而 query 出現在查詢字符串中。
必填項: params 通常是必填的,而 query 是可選的。
服務器端訪問: params 可以由后端服務器訪問,而 query 可能不會。
可變性: params 在提交表單或重定向后會丟失,而 query 會保留在 URL 中。
選擇哪種方式
選擇使用 params 還是 query 取決于傳遞數據的目的和性質:
必需數據: 使用 params 傳遞必須包含在 URL 中的數據。
可選數據: 使用 query 傳遞附加到 URL 的可選數據。
服務器端訪問: 如果需要在后端服務器上訪問數據,則使用 params。
可變性: 如果數據在提交表單或重定向后需要保留,則使用 query。






