vue路由传参及获取参数的方式总结

 更新时间:2023年05月25日 09:25:10   作者:kksw1121  
这篇文章主要介绍了vue路由传参及获取参数的方式总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue路由传参及获取参数方式

方法一

动态路由(这里用来测试,传了两个参数username和post_id)

//路由配置
{
      path: '/user/:username/:post_id',
       name: 'User',
       component: User
 }
//跳转
    this.$router.push({
          path: `/user/${username}/${post_id}`,
    })

匹配路径:/user/evan/123 

传递的参数:{ username: 'evan', post_id: '123' }  

//获取参数
this.$route.params.username
this.$route.params.post_id

方法二

通过路由属性中的name来确定匹配的路由,通过params来传递参数。

//路由配置
{
      path: '/user',
       name: 'User',
       component: User
 }
//js跳转
    this.$router.push({
          name: 'User',
          params: {
            id: id
          }
    })
<!--html跳转-->
<router-link :to="{name:'User',params:{id:3}}"><span>跳转</span></router-link>

js获取参数:this.$route.params.id

html获取参数: {{$route.params.id}}

方法三

使用path来匹配路由,然后通过query来传递参数,参数显示在地址栏上,并用?号和&号拼接的

//路由配置
{
      path: '/user',
       name: 'User',
       component: User
 }
//js跳转
    this.$router.push({
           path: '/user',
          query: {
            id: id
          }
    })
<!--html跳转-->
<router-link to="/user?id=1"><span>跳转</span></router-link>

js获取参数:this.$route.query.id

html获取参数: {{$route.query.id}}

  • 参数是对象的时候使用params传参
  • 参数是字符串拼接的时候使用query传参

vue路由传递参数,刷新页面后参数丢失

在用vue做项目的时候,发现在新页面刷新后,上一页面带过来的参数会丢失,查阅资料才发现原来自己对params和query理解不透彻

下面是两种传参方法:

1.用 params 传参

需要路由里加上这个参数

this.$router.push({name:'list', params:{id: id}});
routes: [
    {
      path: '/list/:id',
      name: 'list'
    }
  ]

可以通过 this.$route.params.id 来获取

2.可以将参数写到路径里

this.$router.push({path: '/folder/file', query: {id: list.id, name: list.name}})

可以通过 this.$route.query.id 来获取

总结

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

相关文章

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

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

    这篇文章主要为大家详细介绍了Vue使用element plus组件时出现时间格式问题的解决方法,文中的示例代码讲解详细,需要的小伙伴可以参考下
    2025-07-07
  • 详解vue的数据劫持以及操作数组的坑

    详解vue的数据劫持以及操作数组的坑

    这篇文章主要介绍了vue的数据劫持以及操作数组的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Vue3组件通信的具体用法实例

    Vue3组件通信的具体用法实例

    在Vue.js3中,组件通信主要包括父子组件通信、兄弟组件通信以及祖孙组件通信,这篇文章主要介绍了Vue3组件通信具体用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-09-09
  • vue使用less报错:Inline JavaScript is not enabled问题

    vue使用less报错:Inline JavaScript is not ena

    这篇文章主要介绍了vue使用less报错:Inline JavaScript is not enabled问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Vue中给对象添加新属性后界面不刷新的原理与解决方案详解

    Vue中给对象添加新属性后界面不刷新的原理与解决方案详解

    这篇文章主要为大家详细介绍了Vue中给对象添加新属性后界面不刷新的原理与解决方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-11-11
  • Vue reactive函数实现流程详解

    Vue reactive函数实现流程详解

    一个基本类型的数据,想要变成响应式数据,那么需要通过ref函数包裹,而如果是一个对象的话,那么需要使用reactive函数,这篇文章主要介绍了Vue reactive函数
    2023-01-01
  • 前端Vue3图像编辑功能实现代码(并生成mask图)

    前端Vue3图像编辑功能实现代码(并生成mask图)

    随着互联网的飞速发展,图片编辑已经成为人们日常生活中经常使用的一项技能,下面这篇文章主要介绍了前端Vue3图像编辑功能实现的相关资料,并生成mask图,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-09-09
  • vue 自定义指令directives及其常用钩子函数说明

    vue 自定义指令directives及其常用钩子函数说明

    这篇文章主要介绍了vue 自定义指令directives及其常用钩子函数说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Vue3 defineProps设置默认值报错问题及解决过程

    Vue3 defineProps设置默认值报错问题及解决过程

    这篇文章主要介绍了Vue3 defineProps设置默认值报错问题及解决过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-08-08
  • vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)

    vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)

    这篇文章主要介绍了vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07

最新评论