Vue路由传参

  • params参数
    • router-link形式传参
    • 编程式路由导航传参
  • query参数
    • router-link形式传参
    • 编程式路由导航传参
  • params和query的区别

Vue路由传参主要有两种方式

params参数

  • 浏览器地址栏中显示参数和不显示参数两种情况主要就是看路由配置。如果配置路由格式:/router/:id,则显示;如果配置的路由格式:/router,则不显示
  • 传递的方式:在path后面跟上对应的值

router-link形式传参

  1. to的字符串写法
//在路径中会显示参数,刷新页面参数不会丢失。
//配置路由
{path: '/user/:id',component: User,
},//路由传参, 跳转并携带params参数,to的字符串写法
<router-link :to="`/user/${id}`" ></router-link>  //获取路由参数$route.params.id
  1. to的对象写法
    路由携带params参数时,若使用to的对象写法,则不能使用path配置项,必须使用name配置
在路径中会显示参数,刷新页面参数不会丢失。
//配置路由
{name:'user',path: '/user/:id',//使用占位符声明接收params参数component: User,
},//路由传参, 跳转并携带params参数,to的对象写法
<router-link :to="{name:'user', params:{id:666}}">跳转</router-link>  //获取路由参数$route.params.id

编程式路由导航传参

  1. 通过path匹配路由

如果使用params传参,且参数是以对象的形式,跳转路径只能使用name形式而不能用path。

//在路径中会显示参数,刷新页面参数不会丢失。
//配置路由
{path: '/user/:id',component: User,
},
//路由传参
this.$router.push({path: `/user/${id}`})
// 注意这种写法的params不生效!!
this.$router.push({ path: '/user', params: {id}})    // -> /user//获取参数
$route.params.id
  1. 通过name匹配路由
//注意!!此时未在路由配置:id,不在路径中显示参数刷新页面参数会丢失
//路由传参
this.$router.push({name:'user',params:{id:666}})//获取参数
$route.params.id

query参数

  • 配置路由格式:/router,也就是普通配置
  • 传递的方式:对象中使用query的key作为传递方式
  • 传递后形成的路径:/route?id=123

router-link形式传参

刷新页面参数不会丢失

  1. 通过路径path匹配路由
//路由传参//to的字符串写法
<router-link :to="/user?id=666"><router-link>
//to的对象写法
<router-link :to="{path:'/user',query:{id:'666'}}"><router-link>//获取参数
$route.query.id
  1. 通过name匹配路由
//路由传参
<router-link :to="{name: 'user', query: {id:'666'}}">按钮</router-link>//获取参数
$route.query.id

编程式路由导航传参

刷新页面参数不会丢失

  1. 通过path匹配路由
//路由传参 字符串形式
this.$router.push('/user?id=666')
//或者对象形式
this.$router.push({path:'/user',query: {id:'666'}})//获取参数
$route.query.id
  1. 通过name匹配路由
//路由传参
this.$router.push({name:'user',query: {id:'666'}})//获取参数
$route.query.id

params和query的区别

用法:query要用path来引入,params要用name来引入,接收参数都是类似的,分别是 this.$route.query.idthis.$route.params.id

url地址显示:query更加类似于ajax中get传参,params则类似于post,说的再简单一点,前者在浏览器地址栏中显示参数,后者则不显示

注意:query刷新不会丢失query里面的数据 ,params刷新会丢失 params里面的数据。


本文中部分类容参考:https://blog.csdn.net/m0_37843876/article/details/108196266

Vue如何进行路由传参相关推荐

  1. vue router 的路由传参 params 和 query 的 区别

    1. 不带参数<router-link :to="{name:'home'}"> <router-link :to="{path:'/home'}&qu ...

  2. vue路由传参两种方式;vue路由传参query与params区别;vue路由跳转的带参与不带参,路由跳转传参方式:name 、 path;

    vue项目的路由传参常用的有两种方式:query和params 1.query传参特点:1.1可以用path也可以用name传递路径 注意name是路由页面vue文件的名称 不需要/1.2跳转页面地址 ...

  3. Vue教程6【完结】【vue-router】路由,路由传参,编程式路由导航,缓存路由组件,路由守卫,路由模式,vue ui组件库

    vue-router 了解 vue插件库,用来实现SPA应用(单页面) 整个页面只有一个完整的页面 点击页面中导航链接,不会刷新页面,只做局部更新 数据通过ajax请求 路由的理解 一组映射关系(ke ...

  4. vue 路由传参 params 与 query两种方式的区别(转载)

    vue 路由传参 params 与 query两种方式的区别 初学vue的时候,不知道如何在方法中跳转界面并传参,百度过后,了解到两种方式,params 与 query.然后,错误就这么来了:  ro ...

  5. Vue 踩坑日志 - 有关路由传参的坑

    1.有关路由传参 vue中当通过params传过去的参数刷新页面以后会消失,所以可以用query传参.但此时又会出现另一个坑,刷新后数据仍在.但这是针对单个的某个变量的. 如果传入一个对象的话,刷新页 ...

  6. vue 如何将参数放到连接上_通过Vue路由传参的两种方式及Vue组件中接收参数的方式...

    1. Vue传参方式 1.1 通过动态路由传参 我们经常需要把某种模式匹配到的所有路由,全都映射到同个组件.例如,我们有一个 User 组件,对于所有 ID 各不相同的用户,都要使用这个组件来渲染.那 ...

  7. vue路由+ elementUI表格组件:loop文章列表页enter内容页(vue路由传参userid)- 代码篇

    elementUI表格组件,response.data.newsLists列表如何循环出来?如何点击传参numId,并进入对应的内容页? 本文意图: 使用官方table组件:实现API调用:文章遍历. ...

  8. Vue路由传参及传参后刷新导致参数消失处理

    参考:https://blog.csdn.net/qq_43103581/article/details/82260073(vue 路由传递参数,刷新页面后参数丢失) 项目功能需要,要从列表页跳转到第 ...

  9. vue 路由传参 params 与 query两种方式的区别

    vue 路由传参 params 与 query两种方式的区别 初学vue的时候,不知道如何在方法中跳转界面并传参,百度过后,了解到两种方式,params 与 query.然后,错误就这么来了:  ro ...

最新文章

  1. 危险工种 机器人逃生记_袋料自动搬运机器人为什么能取代人工搬运
  2. 白领丽人减肥四大注意 - 生活至上,美容至尚!
  3. 【图神经网络】万物皆可Graph | 当推荐系统遇上图神经网络
  4. 关于HTML、js加密、混淆、源码保护、代码安全,防止解压直接看源码
  5. 为团委出书写:《打造社团品牌:请给我一个理由,让我记住你!》
  6. 云原生时代,.NET5必将称王!
  7. php soap传值,在SOAP调用中传递PHP数组
  8. 电商有可能决定一个工厂的生死存亡
  9. nodeName、nodeValue 以及 nodeType 包含有关于节点的信息
  10. NoSQL数据库知识
  11. npm下载报错npm ERR code ERESOLVE
  12. Linux架设DNS服务器(ChinaITLab.com 搜集整理)
  13. python爬取音乐网站排行榜_使用Python抓取Web端QQ音乐排行榜 批量下载QQ音乐到本地...
  14. 蒙特卡洛算法简单理解与demo
  15. 网易邮箱出现 FA_INVALID_SESSION
  16. mysqldump 备份详解
  17. DSP、SSP、RTB的理解--计算广告
  18. cannot create temp file for here-document: No space left on device
  19. BBPlayer 1.0.2 - 黑莓上的媒体播放器(支持歌词)-完美支持触屏
  20. Improved Consistency Regularization for GANs

热门文章

  1. 小米11参数配置 小米11的优缺点
  2. CentOS7 cobbler 配置,实现用 pxe 启动安装 kvm 虚拟机
  3. php医院挂号收费,各级医院挂号费标准是什么
  4. 华为p9连接计算机,华为手机怎么连接电脑数据传输照片(1分钟教会你步骤非常简单)...
  5. java中输出方框(未知字符)
  6. 【HTML界面设计(二)】说说模块、登录界面
  7. 热门领域、常用短视频工具分享,新手抓紧收藏,每天多200收益
  8. 现在的时代不是互联网时代的延续,因为其底层逻辑已经改变
  9. Standard ML快餐教程(1) - 初识
  10. private的用法