Vue中路由传参的实用方式 分享

 更新时间:2023年06月08日 08:35:14   作者:蜗牛也要往上爬  
这篇文章主要为大家详细介绍了VUE项目中路由之间的传值方式,文中的示例代码讲解详细,涉及到的方法也都是开发时常用的,希望对大家有多帮助

1. 方式一:使用router-link标签 

1.1 params 传参

首先定义好路由

const routes = [
    { path :  ‘/home' , component : () => import(‘/../views/home.vue') } ,
    { path :  ‘/about/:id' , name : 'about' , component: () => import(‘/../views/about.vue') } 
]

在需要跳转的home组件中使用 router-link 标签

<router-link :to=”{ name : 'about' , params : { id : 1} }”>跳转</router-link>

在跳转到的about组件中拿到传过来的值

this.$route.params.id

小结:params传参类似post,路由配置可以为 path : '/about/ : id’或  path : '/about : id’。

注意:如果不配置path的路由地址 :id ,那么第一次发起请求时可以拿到传过来的值,但是刷新之后id会消失;配置了path后刷新页面id会保留。

1.2 query传参

首先定义好路由

const routes = [
    { path :  ‘/home' , component : () => import(‘/../views/home.vue') } ,
    { path :  ‘/about' , name : 'about' , component: () => import(‘/../views/about.vue') } 
]

在需要跳转的home组件中使用 router-link 标签

<router-link :to=”{ name : 'about' , query: { id : 1} }”>跳转</router-link>

在跳转到的about组件中拿到传过来的值

this.$route.query.id

小结:query传参类似于get,在url末尾会显示传过来的参数,路由地址可不配置。

注意:如果是html取参,用$route.query.id;如果是script取参,用this.$route.query.id。

总结:如果使用params传参,要在path中配置好路由地址,不然页面刷新后传过来的参数会丢失;如果使用query传参,则无需再path中配置路由地址,页面跳转后刷新也不会丢失参数。

2. 方式二:使用button按钮和点击时间@click

2.1 params 传参

首先定义好路由

const routes = [
    { path :  ‘/home' , component : () => import(‘/../views/home.vue') } ,
    { path :  ‘/about/:id' , name : 'about' , component: () => import(‘/../views/about.vue') } 
]

在需要跳转的home组件中添加一个button按钮,并增加点击事件

<button @click=”change”>跳转</button>

在change方法中使用this.$router.push进行页面跳转

change(){
    this.$router.push({
        name : “about” , 
        params : {id : 1}
    })
}

在about组件中拿到传过来的值

this.$route.params.id

小结:和使用router-link标签类似,使用params就类似于post方法,需要配置好路由地址:id,才不会在刷新页面后丢失数据。

2.2 query传参

首先定义好路由

const routes = [
    { path :  ‘/home' , component : () => import(‘/../views/home.vue') } ,
    { path :  ‘/about' , name : 'about' , component: () => import(‘/../views/about.vue') } 
]

在需要跳转的home组件中添加一个button按钮,并增加点击事件

<button @click=”change”>跳转</button>

在change方法中使用this.$router.push进行页面跳转

change(){
    this.$router.push({
        name : “about” , 
        query: {id : 1}
    })
}

或者:

change(){
    this.$router.push({
        path: “/about” , 
        query: {id : 1}
    })
}

在about组件中拿到传过来的值

this.$route.query.id

小结:和使用router-link标签类似,使用query就类似于get方法,不需要配置好路由地址:id,刷新页面后数据也不会丢失。

总结:如果使用params传参,要在path中配置好路由地址,不然页面刷新后传过来的参数会丢失;如果使用query传参,则无需再path中配置路由地址,页面跳转后刷新也不会丢失参数。

到此这篇关于Vue中路由传参的实用方式 分享的文章就介绍到这了,更多相关Vue路由传参内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue生命周期的探索

    vue生命周期的探索

    这篇文章主要介绍了vue生命周期的探索,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 详解vue之mixin的使用

    详解vue之mixin的使用

    这篇文章主要为大家介绍了vue之mixin的使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • vue-router history模式服务器端配置过程记录

    vue-router history模式服务器端配置过程记录

    vue路由有hash和history两种模式,这篇文章主要给大家介绍了关于vue-router history模式服务器端配置的相关资料,需要的朋友可以参考下
    2021-06-06
  • 如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法

    如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法

    这篇文章主要介绍了如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • vue 动态绑定背景图片的方法

    vue 动态绑定背景图片的方法

    这篇文章主要介绍了vue 动态绑定背景图片的方法,在文末给大家介绍了vue如何给v-for循环的标签添加背景图片,需要的朋友参考下吧
    2018-08-08
  • el-select如何获取当前选中的对象所有(item)数据

    el-select如何获取当前选中的对象所有(item)数据

    在开发业务场景中我们通常遇到一些奇怪的需求,下面这篇文章主要给大家介绍了关于el-select如何获取当前选中的对象所有(item)数据的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • 前端报错npm ERR! cb() never called!问题解决办法

    前端报错npm ERR! cb() never called!问题解决办法

    最近接手了一个前台项目,执行npm install的时候一直报错,所以这里就给大家总结下,这篇文章主要给给大家介绍了关于前端报错npm ERR! cb() never called!问题的解决办法,需要的朋友可以参考下
    2024-05-05
  • vue cli webpack中使用sass的方法

    vue cli webpack中使用sass的方法

    这篇文章主要介绍了vue cli webpack中使用sass的方法,需要的朋友可以参考下
    2018-02-02
  • springboot+VUE实现登录注册

    springboot+VUE实现登录注册

    这篇文章主要为大家详细介绍了springboot+VUE实现登录注册,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • Vue项目中使用better-scroll实现一个轮播图自动播放功能

    Vue项目中使用better-scroll实现一个轮播图自动播放功能

    better-scroll是一个非常非常强大的第三方库 在移动端利用这个库 不仅可以实现一个非常类似原生ScrollView的效果 也可以实现一个轮播图的效果。这篇文章主要介绍了Vue项目中使用better-scroll实现一个轮播图,需要的朋友可以参考下
    2018-12-12

最新评论