vue跳转的实现
Vue 路由跳转的实现方法
在 Vue 中实现页面跳转主要通过 Vue Router 完成,以下是常见的几种方式:
声明式导航
使用 <router-link> 组件实现跳转,适合模板中的静态路由跳转:
<router-link to="/home">跳转到首页</router-link>
<router-link :to="{ name: 'user', params: { userId: 123 }}">用户页面</router-link>
编程式导航
通过 this.$router 方法实现动态跳转:

// 路径跳转
this.$router.push('/home')
// 命名路由跳转
this.$router.push({ name: 'user', params: { userId: 123 }})
// 带查询参数
this.$router.push({ path: '/user', query: { id: 1 }})
// 替换当前路由(无历史记录)
this.$router.replace('/login')
// 前进/后退
this.$router.go(-1)
路由传参方式
-
params传参(需在路由配置中定义):// 路由配置 { path: '/user/:id', name: 'user', component: User } // 获取参数 this.$route.params.id -
query传参(URL可见):
// 跳转时 this.$router.push({ path: '/user', query: { id: 1 }}) // 获取参数 this.$route.query.id
路由守卫控制跳转
可在路由跳转前后添加逻辑控制:
// 全局前置守卫
router.beforeEach((to, from, next) => {
if (to.meta.requiresAuth) {
// 需要登录的逻辑
} else {
next()
}
})
// 组件内守卫
export default {
beforeRouteEnter(to, from, next) {
// 组件渲染前执行
}
}
动态路由添加
需要跳转到动态添加的路由时:
router.addRoute({
path: '/new',
component: NewComponent
})
// 跳转到新路由
this.$router.push('/new')
以上方法覆盖了 Vue 中大多数路由跳转场景,可根据具体需求选择合适的方式。注意路径参数和查询参数的区别,以及编程式导航与声明式导航的适用场景。






