vue-router传参的四种方式超详细讲解

 更新时间:2022年12月15日 10:25:11   作者:秋田君  
这篇文章主要介绍了vue-router传参的四种方式超详细,有router-link路由导航方式传参,调用$router.push实现路由传参,通过路由属性name匹配路由,再根据params传递参数等等,结合示例代码讲解的非常详细,需要的朋友可以参考下

vue路由传参的四种方式

一、router-link路由导航方式传参

父组件:<router-link to="/跳转到的路径/传入的参数"></router-link>
子组件:this.$route.params.content接受父组件传递过来的参数

例如:
路由配置:

bashbash{path:'/father/son/:num',name:A,component:A}```

地址栏中的显示:

http://localhost:8080/#/father/son/44

调用方法:

<router-link to="/father/son/传入的参数">父亲组件<router-link>
 子组件通过  this.$route.params.num 接受参数

二、调用$router.push实现路由传参

父组件:通过实践触发,跳转代码

<button @click="clickHand(123)">push传参</button>
  methods: {
    clickHand(id) {
      this.$router.push({
        path: `/d/${id}`
      })
    }
  }

路由配置

{path: '/d/:id', name: D, component: D}

地址栏中显示:

http://localhost:8080/d/123

子组件接受参数方式

mounted () {
  this.id = this.$route.params.id
}

三、通过路由属性name匹配路由,再根据params传递参数

父组件:

<button @click="ClickByName()">params传参</button>
    ClickByName() {
      this.$router.push({
        name: 'B',
        params: {
          context: '吴又可吴又可吴又可'
        }
      })
    }

路由配置:路径后不需要在加上传入的参数,但是name必须和父组件中的name一致

{path: '/b', name: 'B', component: B}

地址栏中的显示:地址栏不会带有传入的参数,而且再次刷新页面后参数会丢失

http://localhost:8080/#/b

子组件接收参数的方式:

<template>
  <div id="b">
    This is page B!
    <p>传入参数:{{this.$route.params.context}}</p>
  </div>
</template>

四、通过query来传递参数

父组件:

<button @click="clickQuery()">query传参</button>
    clickQuery() {
      this.$router.push({
        path: '/c',
        query: {
          context: '吴又可吴又可'
        }
      })
    }

路由配置:不需要做任何修改

{path: '/c', name: 'C', component: C}

地址栏中的显示(中文转码格式):

http://localhost:8080/#/c?sometext=%E8%BF%99%E6%98%AF%E5%B0%8F%E7%BE%8A%E5%90%8C%E5%AD%A6

子组件接受方法:

<template>
  <div id="C">
    This is page C!
    <p>这是父组件传入的数据: {{this.$route.query.context}}</p>
  </div>
</template>

工作中经常用的也就是上面的几种传参方式,完结~ 欢迎点赞收藏哦

补充知识:

vue-router传递参数的几种方式

vue-router传递参数分为两大类
1 编程式的导航 router.push
2声明式的导航

编程式的导航 router.push
编程式导航传递参数有两种类型:字符串、对象。
字符串
字符串的方式是直接将路由地址以字符串的方式来跳转,这种方式很简单但是不能传递参数:
this.$router.push("home");

对象
使用方法如下:

this.$router.push({ name: 'news', params: { userId: 123 }})
name:为路由的名字
获取参数
{{this.$route.params.userId}}

查询参数
使用方法如下:
this.$router.push({ path: '/news', query: { userId: 123 }});
获取参数
{{this.$route.query.userId}}

声明式的导航

字符串方式
click to news page

命名路由方式
click to news page
查询参数方式
click to news page

1.命名路由搭配params,刷新页面参数会丢失
2.查询参数搭配query,刷新页面数据不会丢失
3.接受参数使用this.$router后面就是搭配路由的名称就能获取到参数的值

到此这篇关于vue-router传参的四种方式超详细的文章就介绍到这了,更多相关vue-router传参方式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue-cli3.0之配置productionGzip方式

    vue-cli3.0之配置productionGzip方式

    这篇文章主要介绍了vue-cli3.0之配置productionGzip方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 在Vue组件化中利用axios处理ajax请求的使用方法

    在Vue组件化中利用axios处理ajax请求的使用方法

    这篇文章主要给大家介绍了在Vue组件化中利用axios处理ajax请求的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-08-08
  • element UI 中的 el-tree 实现 checkbox 单选框及 bus 传递参数功能

    element UI 中的 el-tree 实现 checkbox&n

    在日常项目开发中,会经常遇到,树形结构的查询方式,为了快速方便开发,常常会使用到快捷的ui组件去快速搭树形结构,这里我用的是 element ui 中的 el-tree,对element UI 中的 el-tree 实现 checkbox 单选框及 bus 传递参数的方法感兴趣的朋友跟随小编一起看看吧
    2022-09-09
  • Vue组件的计算属性和普通属性的区别说明

    Vue组件的计算属性和普通属性的区别说明

    这篇文章主要介绍了Vue组件的计算属性和普通属性的区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • element el-upload文件上传覆盖第一个文件的实现

    element el-upload文件上传覆盖第一个文件的实现

    这篇文章主要介绍了element el-upload文件上传覆盖第一个文件的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • el-input设置后缀显示单位并阻止滚轮微调的解决方法

    el-input设置后缀显示单位并阻止滚轮微调的解决方法

    在Element UI或Element Plus中,使用el-input组件时,可以通过suffix插槽添加单位显示,如果设置了type为'number',滚轮滚动可能会导致数值微调,解决方法是阻止滚轮事件的默认行为,并用CSS隐藏掉输入框的上下箭头,确保数值输入的准确性,这样既美观又提升了用户体验
    2024-09-09
  • vueJs函数toRaw markRaw使用对比详解

    vueJs函数toRaw markRaw使用对比详解

    这篇文章主要为大家介绍了vueJs函数toRaw markRaw使用对比详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Vue组件封装上传图片和视频的示例代码

    Vue组件封装上传图片和视频的示例代码

    这篇文章主要介绍了Vue封装上传图片和视频的组件,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • vue3 onMounted异步函数同步请求async/await实现

    vue3 onMounted异步函数同步请求async/await实现

    这篇文章主要为大家介绍了vue3 onMounted初始化数据异步函数/同步请求async/await实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Vue keep-alive的实现原理分析

    Vue keep-alive的实现原理分析

    这篇文章主要介绍了Vue keep-alive的实现原理分析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04

最新评论