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

在 Vue Router 中,$route 和 $router 这两个对象的用途与获取方式有何不同?请分别说明它们各自代表什么,以及在组件中如何访问。

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

考察说明

考察对 Vue Router 核心对象 $route 和 $router 的理解与区分。

回答思路

  1. 【回答框架 1】$route 是当前激活的路由信息对象,包含路径、参数、查询、hash 等,它是只读的,每次导航后都会更新。
  2. 【回答框架 2】$router 是 Vue Router 的实例,提供导航方法如 push、replace、go,以及配置如 mode、routes,用于编程式导航。
  3. 【回答框架 3】在组件中,通过 this.$route 和 this.$router 访问;在组合式 API 中,使用 useRoute 和 useRouter 获取。
  4. 【关键点 1】$route 是路由信息,$router 是路由实例。
  5. 【关键点 2】$route 包含当前路由参数,$router 可执行导航。
  6. 【关键点 3】通过 this.$route / useRoute 读取信息,通过 this.$router / useRouter 进行跳转。
  7. 【易错点 1】不要尝试修改 $route,它只读,应通过 $router 导航来改变。
  8. 【易错点 2】在组件中避免解构 $route 导致失去响应式。