Vue重定向redirect的三种写法总结

 更新时间:2025年06月17日 10:45:58   作者:WZMeiei  
这篇文章主要介绍了Vue重定向redirect的三种写法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、写法 1:直接路径跳转(最简单)

const router = createRouter({
  routes: [
    {
      path: '/原路径',  // 用户访问的路径
      redirect: '/目标路径'  // 直接跳转到这个路径
    }
  ]
})

必记规则:

  1. redirect 后直接跟字符串路径(必须以 / 开头)。
  2. 路径必须存在:确保 /目标路径 在路由配置里有对应的组件。

示例:

{ path: '/old', redirect: '/new' }  // 访问 /old → 自动跳转到 /new

二、写法 2:通过路由名称跳转(更灵活)

const router = createRouter({
  routes: [
    {
      path: '/原路径',
      redirect: { name: '目标路由名称' }  // 通过路由的 name 属性跳转
    },
    // 必须先定义目标路由,并设置 name
    {
      path: '/目标路径',
      name: '目标路由名称',  // 给路由起个名字
      component: 目标组件
    }
  ]
})

必记规则:

  1. redirect 后是对象,必须包含 name 属性。
  2. 路由名称必须先定义:确保 name: '目标路由名称' 在路由配置里存在。

示例:

{ path: '/user', redirect: { name: 'profile' } }  // 访问 /user → 跳转到 name 为 profile 的路由

三、写法 3:动态跳转(带参数,最灵活)

const router = createRouter({
  routes: [
    {
      path: '/原路径/:参数名',  // 带动态参数的路径
      redirect: to => {
        // to 是当前访问的路由对象
        return {
          path: '/目标路径',
          query: { 参数名: to.params.参数名 }  // 传递参数
        }
      }
    }
  ]
})

必记规则:

  • redirect 后是箭头函数,函数返回一个对象。

参数传递

  • to.params.参数名 → 获取当前路由的动态参数(如 /user/123 中的 123)。
  • query: { 参数名: 值 } → 把参数转为查询参数(如 ?id=123)。

示例:

{
  path: '/search/:keyword',  // 访问 /search/vue
  redirect: to => {
    return {
      path: '/results',
      query: { q: to.params.keyword }  // 跳转到 /results?q=vue
    }
  }
}

四、核心规则速查表(必须记住!)

写法固定格式关键注意点
直接路径redirect: '/目标路径'路径必须以 / 开头,且已配置路由
路由名称redirect: { name: '目标名称' }必须先定义带 name 的路由
动态跳转redirect: to => ({ ... })用 to.params 获取当前路由参数

五、完整示例(三种写法对比)

import { createRouter, createWebHashHistory } from 'vue-router'
import Home from './views/Home.vue'
import Profile from './views/Profile.vue'
import Search from './views/Search.vue'
import Results from './views/Results.vue'

const router = createRouter({
  history: createWebHashHistory(),
  routes: [
    // 写法1:直接路径跳转
    { path: '/', redirect: '/home' },
    
    // 写法2:通过路由名称跳转
    { path: '/user', redirect: { name: 'profile' } },
    { path: '/profile', name: 'profile', component: Profile },
    
    // 写法3:动态跳转(带参数)
    { 
      path: '/search/:keyword', 
      redirect: to => ({
        path: '/results',
        query: { q: to.params.keyword }
      }) 
    },
    { path: '/results', component: Results },
    
    // 基础路由
    { path: '/home', component: Home },
  ]
})

export default router

六、一句话总结

重定向的本质是 “访问 A 路径时,自动跳转到 B 路径”

三种写法只是跳转方式不同:

  • 直接路径:简单粗暴,适合固定跳转。
  • 路由名称:解耦路径,适合路径可能变化的场景。
  • 动态跳转:带参数传递,适合需要参数处理的场景。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue使用element plus组件的时间格式问题解决

    Vue使用element plus组件的时间格式问题解决

    这篇文章主要为大家详细介绍了Vue使用element plus组件时出现时间格式问题的解决方法,文中的示例代码讲解详细,需要的小伙伴可以参考下
    2025-07-07
  • vue2+electron项目搭建过程

    vue2+electron项目搭建过程

    文章介绍了如何使用Vue CLI 2搭建Vue项目,并添加Electron插件vue-cli-plugin-electron-builder来创建一个Vue+Electron项目,文章还提供了启动和打包项目的方法,并提示了下载国内网较慢的文件时可以先注释掉代码进行调试,感兴趣的朋友一起看看吧
    2025-01-01
  • Vite中使用Ant Design Vue3.x框架教程示例

    Vite中使用Ant Design Vue3.x框架教程示例

    这篇文章主要为大家介绍了Vite中使用Ant Design Vue3.x框架教程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Vue3+Vite环境变量与多环境配置详解

    Vue3+Vite环境变量与多环境配置详解

    本文介绍了在Vue3+Vite项目中配置和使用环境变量的完整方案,该方案实现了安全、灵活的环境变量管理,支持多环境开发和部署需求,感兴趣的可以了解一下
    2026-05-05
  • Vue之elementUI下拉菜单dropdown组件中command方法添加额外参数方式

    Vue之elementUI下拉菜单dropdown组件中command方法添加额外参数方式

    这篇文章主要介绍了Vue之elementUI下拉菜单dropdown组件中command方法添加额外参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • Vue实现关联页面多级跳转(页面下钻)功能的完整实例

    Vue实现关联页面多级跳转(页面下钻)功能的完整实例

    这篇文章主要给大家介绍了关于Vue实现关联页面多级跳转(页面下钻)功能的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Vue.js做select下拉列表的实例(ul-li标签仿select标签)

    Vue.js做select下拉列表的实例(ul-li标签仿select标签)

    下面小编就为大家分享一篇Vue.js做select下拉列表的实例(ul-li标签仿select标签),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • vue3安装vant实现按需引入和全局引入

    vue3安装vant实现按需引入和全局引入

    本文主要介绍了vue3安装vant实现按需引入和全局引入,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • vue实现滑动验证条

    vue实现滑动验证条

    这篇文章主要为大家详细介绍了vue实现滑动验证条,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • element-plus的el-table自定义表头筛选查询功能实现

    element-plus的el-table自定义表头筛选查询功能实现

    这篇文章主要介绍了element-plus的el-table自定义表头筛选查询功能实现,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-07-07

最新评论