当前位置:首页 > VUE

vue3实现跳转

2026-02-22 06:24:25VUE

vue3 实现页面跳转的方法

在 Vue3 中,页面跳转可以通过多种方式实现,主要依赖于 Vue Router。以下是几种常见的跳转方式:

使用 <router-link> 组件

通过声明式导航实现跳转,适合模板中使用:

<router-link to="/about">跳转到关于页面</router-link>

编程式导航

通过调用 router 实例的方法实现跳转:

import { useRouter } from 'vue-router'

const router = useRouter()

// 跳转到指定路径
router.push('/about')

// 带参数跳转
router.push({ path: '/user', query: { id: '123' } })

// 命名路由跳转
router.push({ name: 'user', params: { userId: '123' } })

替换当前路由

不保留当前路由历史记录:

vue3实现跳转

router.replace('/login')

前进/后退

控制浏览器历史记录:

router.go(1)  // 前进
router.go(-1) // 后退

路由传参方式

query 传参

参数会显示在 URL 中:

vue3实现跳转

router.push({ path: '/user', query: { name: 'John' } })

params 传参

需要先在路由配置中定义:

// 路由配置
{
  path: '/user/:id',
  name: 'user',
  component: User
}

// 跳转时
router.push({ name: 'user', params: { id: 123 } })

获取路由参数

在目标组件中获取传递的参数:

import { useRoute } from 'vue-router'

const route = useRoute()

// 获取 query 参数
console.log(route.query.id)

// 获取 params 参数
console.log(route.params.id)

导航守卫

可以在跳转前后执行特定逻辑:

router.beforeEach((to, from, next) => {
  // 跳转前逻辑
  next()
})

router.afterEach((to, from) => {
  // 跳转后逻辑
})

动态路由跳转

根据条件动态生成路由路径:

const userId = 123
router.push(`/user/${userId}`)

注意事项

  • 使用 params 传参时,必须使用命名路由
  • 编程式导航方法返回 Promise,可以处理导航结果
  • 路由配置中需要正确定义路径和组件映射关系
  • 在 setup 函数中需要使用 useRouteruseRoute 替代 this.$routerthis.$route

标签: 跳转
分享给朋友:

相关文章

vue文件实现页面跳转

vue文件实现页面跳转

使用 router-link 实现跳转 在 Vue 模板中直接使用 <router-link> 组件,通过 to 属性指定目标路径: <router-link to="/tar…

vue实现路由跳转

vue实现路由跳转

路由跳转的基本方法 在Vue中,路由跳转可以通过vue-router实现。vue-router是Vue.js官方的路由管理器,用于构建单页面应用(SPA)。以下是几种常见的路由跳转方式。 声明式导航…

js实现跳转页面

js实现跳转页面

使用 window.location.href 实现跳转 通过修改 window.location.href 属性可以跳转到指定 URL。这是最常见且简单的方法,会触发页面刷新并加载新页面。 win…

js怎么实现网页跳转

js怎么实现网页跳转

使用 window.location.href 修改 window.location.href 可以直接跳转到新的 URL。这是最常见的方法之一,适用于大多数场景。 window.location.…

vue怎么实现跳转

vue怎么实现跳转

Vue 实现页面跳转的方法 使用 router-link 组件 router-link 是 Vue Router 提供的组件,用于声明式导航。通过 to 属性指定目标路由路径或命名路由。 <r…

vue组件实现跳转

vue组件实现跳转

Vue 组件实现跳转的方法 在 Vue 中实现页面跳转可以通过多种方式,以下是常见的几种方法: 使用 router-link 组件 router-link 是 Vue Router 提供的组件,用于…