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中渲染函数的使用

    浅析Vue中渲染函数的使用

    在Vue中,渲染函数是一种用于动态生成组件的函数,可以将组件的模板代码编写为JavaScript代码,并在运行时进行渲染,下面我们就来看看它的具体用法吧
    2023-08-08
  • vue原理Compile之optimize标记静态节点源码示例

    vue原理Compile之optimize标记静态节点源码示例

    这篇文章主要为大家介绍了vue原理Compile之optimize标记静态节点源码示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Vue 项目运行完成后自动打开浏览器的方法汇总

    Vue 项目运行完成后自动打开浏览器的方法汇总

    这篇文章主要介绍了Vue 项目运行完成后自动打开浏览器的多种实现方法,方法一比较适用于vue3,每种方法通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2022-02-02
  • Vue实现小购物车功能

    Vue实现小购物车功能

    这篇文章主要为大家详细介绍了Vue实现小购物车功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • vue实现Input输入框模糊查询方法

    vue实现Input输入框模糊查询方法

    这篇文章主要为大家详细介绍了vue实现Input输入框模糊查询方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • 使用elementUI表单校验函数validate需要注意的坑及解决

    使用elementUI表单校验函数validate需要注意的坑及解决

    这篇文章主要介绍了使用elementUI表单校验函数validate需要注意的坑及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Vue 父子组件、组件间通信

    Vue 父子组件、组件间通信

    本篇文章主要介绍了Vue 父子组件、组件间通信示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Spring boot 和Vue开发中CORS跨域问题解决

    Spring boot 和Vue开发中CORS跨域问题解决

    这篇文章主要介绍了Spring boot 和Vue开发中CORS跨域问题解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • 在vue-cli搭建的项目中增加后台mock接口的方法

    在vue-cli搭建的项目中增加后台mock接口的方法

    这篇文章主要介绍了在vue-cli搭建的项目中增加后台mock接口的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 9102年webpack4搭建vue项目的方法步骤

    9102年webpack4搭建vue项目的方法步骤

    这篇文章主要介绍了9102年webpack4搭建vue项目的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02

最新评论