前端/移动开发面试题更新 2026-08-05

在 Vue Router 中,路由参数可以通过 params 和 query 两种方式传递,请阐述它们之间的主要区别。

前端/移动开发技术原理Vue Router

考察说明

考察对 Vue Router 路由参数传递机制的掌握程度,区分两种参数的使用场景与特点。

回答思路

  1. 【回答框架 1】params 用于在路由路径中定义动态段,例如 /user/:id,通过 $route.params.id 访问,参数包含在路径中,刷新页面参数仍保留,但要求路径匹配成功。
  2. 【回答框架 2】query 用于传递可选参数,以 ?key=value 形式附加在 URL 末尾,通过 $route.query.key 访问,不参与路径匹配,适合搜索筛选等场景,刷新页面后参数仍在 URL 中保留。
  3. 【回答框架 3】二者主要区别在于:params 属于路径的一部分,需要预先在路由配置中定义;而 query 是独立的查询字符串,无需配置。使用场景上,params 适合标识资源(如用户 ID),query 适合携带非必需的辅助数据。
  4. 【回答框架 4】在编程式导航中,使用 name 和 params 时,若路由配置中没有对应动态段,params 可能被忽略;而 query 始终有效。同时在跳转后,若使用 params 且路径未匹配,可能丢失参数。
  5. 【关键点 1】params 参数是路由路径的一部分,需在路由配置中定义动态段。
  6. 【关键点 2】query 参数以查询字符串形式附加在 URL 尾部,无需预定义。
  7. 【关键点 3】params 适合标识资源,query 适合传递可选或过滤条件。
  8. 【关键点 4】编程式导航时,使用 name+params 需要确保路由有对应动态段,否则参数可能丢失。
  9. 【易错点 1】混淆 params 与 query 的使用时机,导致参数丢失或 URL 不符合预期。
  10. 【易错点 2】在编程式导航中过度依赖 params 而不配置动态段,造成参数未生效。