当前位置:首页 > VUE

vue router怎么实现跳转

2026-02-21 17:44:04VUE

vue router 跳转方法

在 Vue Router 中实现页面跳转有多种方式,主要包括编程式导航和声明式导航两种形式。

编程式导航

使用 router.push 方法可以实现编程式导航跳转,该方法会向 history 栈添加一个新的记录。

// 字符串路径
this.$router.push('/home')

// 对象形式
this.$router.push({ path: '/home' })

// 带查询参数
this.$router.push({ path: '/home', query: { id: '123' } })

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

使用 router.replace 方法会替换当前 history 记录而不是添加新记录。

this.$router.replace('/home')

使用 router.go 方法可以在 history 记录中前进或后退。

vue router怎么实现跳转

// 前进 1 步
this.$router.go(1)

// 后退 1 步
this.$router.go(-1)

声明式导航

在模板中使用 <router-link> 组件创建导航链接。

<!-- 基本用法 -->
<router-link to="/home">Home</router-link>

<!-- 对象形式 -->
<router-link :to="{ path: '/home' }">Home</router-link>

<!-- 命名路由 -->
<router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link>

<!-- 带查询参数 -->
<router-link :to="{ path: '/home', query: { id: '123' }}">Home</router-link>

路由传参

通过 params 传递参数需要在路由配置中定义参数名。

vue router怎么实现跳转

const router = new VueRouter({
  routes: [
    { path: '/user/:userId', name: 'user', component: User }
  ]
})

通过 query 传递参数不需要在路由配置中定义。

this.$router.push({ path: '/home', query: { id: '123' } })

导航守卫

可以使用导航守卫在路由跳转前后执行特定逻辑。

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

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

动态路由

可以通过 addRoute 方法动态添加路由。

router.addRoute({ path: '/about', component: About })

以上方法涵盖了 Vue Router 中实现页面跳转的主要方式,可以根据具体需求选择合适的方法。

标签: 跳转vue
分享给朋友:

相关文章

vue实现收起展开面板

vue实现收起展开面板

实现收起展开面板的方法 在Vue中实现收起展开面板功能可以通过多种方式完成,以下是几种常见的实现方法: 使用v-show或v-if控制显示隐藏 利用Vue的指令可以轻松实现面板的展开和收起: &l…

vue实现下拉刷新组件

vue实现下拉刷新组件

实现下拉刷新组件的核心思路 下拉刷新功能通常通过监听触摸事件、滚动位置和动画效果实现。Vue中可以利用自定义指令或封装组件完成,以下为两种常见实现方式。 基于自定义指令的实现 创建指令监听触摸事件,…

vue实现详情

vue实现详情

Vue 实现详情页的常见方法 使用动态路由 在 Vue Router 中配置动态路由参数,通过 $route.params 获取详情 ID。示例路由配置: { path: '/detail/:i…

vue实现setinterval

vue实现setinterval

在 Vue 中使用 setInterval Vue 中可以通过生命周期钩子和方法结合 setInterval 实现定时任务。以下是一个完整的实现示例: <template> <…

vue实现markdown

vue实现markdown

Vue 实现 Markdown 编辑器 在 Vue 中实现 Markdown 编辑器可以通过集成第三方库或自定义解析器完成。以下是两种常见方法: 使用第三方库(如 marked 或 markdown…

vue实现suspense

vue实现suspense

Vue 3 中实现 Suspense Suspense 是 Vue 3 引入的一个内置组件,用于处理异步依赖的加载状态。它允许在等待异步组件或异步数据加载时显示一个后备内容(fallback),直到异…