很多做前端开发的小白,被vue的路由搞得头大,尤其是route和router的区别,总是弄不明白,有时候很容易弄混,那么今天咱们就说道说道,这个route和router的区别到底在哪里?
在Vue Router中,route是当前激活的路由信息对象,包含路径、参数等状态信息;而router是路由实例,负责管理路由跳转和全局配置。 两者核心区别在于:route用于获取路由状态,router用于操作路由行为。
Route(路由信息对象)
1、定义:表示当前激活的路由状态,包含URL解析后的信息(如路径、参数等),每次导航会生成新的不可变对象。
2、核心属性:
path:当前路由的绝对路径(如/user/123)。
params:动态路由参数(如{ id: '123' })。
query:URL查询参数(如?name=vue解析为{ name: 'vue' })。
matched:匹配的路由配置数组,支持嵌套路由分析。
3、获取方式:
import { useRoute } from 'vue-router';
const route = useRoute(); // 组合式API
Router(路由实例)
1、定义:通过new VueRouter()创建的全局实例,管理路由跳转、守卫和配置。
2、核心方法:
push():跳转路由并添加历史记录(如router.push('/home'))。
replace():跳转路由但不保留历史记录。
go(n):在历史记录中前进或后退。
3、其他功能:
全局导航守卫(beforeEach等)。
动态路由配置(addRoute)。
4、获取方式:
import { useRouter } from 'vue-router';
const router = useRouter(); // 组合式A
对比总结