vue 中,params 用于傳遞必需動(dòng)態(tài)數(shù)據(jù)(如 /users/:id 中的 :id),在 $route.params 中訪問(wèn),常用于傳遞特定 id 等必填參數(shù);query 用于傳遞可選附加數(shù)據(jù)(如 /users?name=john&age=30),在 $route.query 中訪問(wèn),常用于傳遞篩選器等可選項(xiàng)。
Vue 中 params 和 query 傳參的區(qū)別
開(kāi)門(mén)見(jiàn)山
Vue 中,params 和 query 都是用于在路由間傳遞數(shù)據(jù)的兩種方式,但它們?cè)谟猛竞托袨樯嫌兴煌?/p>
詳細(xì)展開(kāi)
params
用于傳遞必須包含在 URL 中的動(dòng)態(tài)數(shù)據(jù)。
作為路由路徑的一部分存在,例如 /users/:id
中的 :id
。
在 $route.params
中訪問(wèn)。
主要用于傳遞特定資源或?qū)嶓w的 ID 等必需參數(shù)。
query
用于傳遞附加到 URL 中查詢(xún)字符串中的可選數(shù)據(jù)。
以 ?
分隔符后綴到 URL,例如 /users?name=John&age=30
。
在 $route.query
中訪問(wèn)。
通常用于傳遞篩選器、排序或其他可選項(xiàng)。
其他區(qū)別
URL 格式: params 出現(xiàn)在路徑中,而 query 出現(xiàn)在查詢(xún)字符串中。
必填項(xiàng): params 通常是必填的,而 query 是可選的。
服務(wù)器端訪問(wèn): params 可以由后端服務(wù)器訪問(wèn),而 query 可能不會(huì)。
可變性: params 在提交表單或重定向后會(huì)丟失,而 query 會(huì)保留在 URL 中。
選擇哪種方式
選擇使用 params 還是 query 取決于傳遞數(shù)據(jù)的目的和性質(zhì):
必需數(shù)據(jù): 使用 params 傳遞必須包含在 URL 中的數(shù)據(jù)。
可選數(shù)據(jù): 使用 query 傳遞附加到 URL 的可選數(shù)據(jù)。
服務(wù)器端訪問(wèn): 如果需要在后端服務(wù)器上訪問(wèn)數(shù)據(jù),則使用 params。
可變性: 如果數(shù)據(jù)在提交表單或重定向后需要保留,則使用 query。