Vue 中,params 用于传递必需动态数据(如 /users/:id 中的 :id),在 $route.params 中访问,常用于传递特定 ID 等必填参数;query 用于传递可选附加数据(如 /users?name=John&age=30),在 $route.query 中访问,常用于传递筛选器等可选项。
Vue 中 params 和 query 传参的区别
开门见山
Vue 中,params 和 query 都是用于在路由间传递数据的两种方式,但它们在用途和行为上有所不同。
详细展开
立即学习
“
前端免费学习笔记(深入)
”;
params
Vue-router参考手册
Vue-router参考手册下载
下载
用于传递必须包含在 URL 中的动态数据。
作为路由路径的一部分存在,例如
中的
。
在
中访问。
主要用于传递特定资源或实体的 ID 等必需参数。
query
用于传递附加到 URL 中查询字符串中的可选数据。
以
分隔符后缀到 URL,例如
。
在
中访问。
通常用于传递筛选器、排序或其他可选项。
其他区别
URL 格式:
params 出现在路径中,而 query 出现在查询字符串中。
必填项:
params 通常是必填的,而 query 是可选的。
服务器端访问:
params 可以由后端服务器访问,而 query 可能不会。
可变性:
params 在提交表单或重定向后会丢失,而 query 会保留在 URL 中。
选择哪种方式
选择使用 params 还是 query 取决于传递数据的目的和性质:
必需数据:
使用 params 传递必须包含在 URL 中的数据。
可选数据:
使用 query 传递附加到 URL 的可选数据。
服务器端访问:
如果需要在后端服务器上访问数据,则使用 params。
可变性:
如果数据在提交表单或重定向后需要保留,则使用 query。
/users/:id:id$route.params?/users?name=John&age=30$route.query