vue中路由传参的2种方法(按照query和params 分类的)

news/2024/7/10 0:02:01 标签: vue, java, vue.js, javascript

一、query传递参数

query传参可以认为是get传参,参数会在请求的url中显示出来,以?,&连接。**

第1种
单个的参数可以写在请求的url中,直接以?连接即可,比如:

<router-link  to='/gameInfo?uid='+uid  >

获取:用query获取

this.$route.query.uid

第2种:
多个参数的情况下也可以使用对象的形式,跳转通过匹配router的path去相应的组件,比如:

this.$router.push({
    path:'/gameInfo',
    query:{
        uId:123,
        gameId:3
    }
})

// 路由配置文件中
{
    path:'/gameInfo',
    name:gameInfo,
    component:()=>import('./views/gameInfo')
}

获取:依然是用query 去获取相应的参数


this.$route.query.uId             
this.$route.query.gameId

第3种:
直接在路径后面拼接参数


this.$router.push('路径?参数名=参数值')

获取:依然是用query 去获取相应的参数


this.$route.query.参数名

二 、params传参

params传参可以认为是post的方法,这种传参方法是看不到参数的,获取的时候通过params来获取。
通过name来匹配相应的组件。
(重点: 通过name 来匹配 组件的)

第1种:


<router link :to='/gameInfo/'+uid+"/"+gameid >

//路由配置文件:

{       name:gameInfo,
        path:'/gameInfo/':uid/:gameid
        component:()=>import('./views/gameInfo')
}

这样在url中传入一个参数,这个参数可以是data中的一个数据,也可以是一个动态的参数,在gameInfo页面接收参数的时候用params接收,比如:

获取:使用params获取


this.$route.params.uid    这里的uid是路由中:后边的参数


第2种:
push跳转路由,传入对象时,用下面的方法传参:

this.$router.push({
        name:'gameInfo', // 这就是前面说到使用的是 name 进行组件的匹配
        params:{
            gameId:3,
            userId:2
        }
})
//路由中的配置:

{
        path:'gameInfo',
        name:gameInfo,
        component:()=>import('./views/gameInfo')
}

获取:使用params获取


this.$route.params.gameId       
this.$router.params.userId

还可以按照: 声明式导航 router-link 和 编程式导航 this.$router.push() 来进行分类;
我是按照 query 和 params 来进行分类的,这样我个人看着比较清晰,依据个人喜好而定;

本博客参考以下而做出的总结:
作者:Free_syx 链接:https://www.jianshu.com/p/c63372225cc8


http://www.niftyadmin.cn/n/1290935.html

相关文章

python flask 分页前后端分离_flask完成前后端分离实例

需求&#xff1a;通过页面点击完成简单的投票系统功能。相关文件&#xff1a;设计思路&#xff1a;1、前端&#xff1a;提供可以投票的入口。查询的入口。(前端不做数据处理&#xff0c;只做展示)使用 完成超链接的接收数据设置超链接的按钮&#xff1a;提供投票和查询功能2、…

sql limit用法_SQL查询倒数第三条数据 LIMIT + ORDER BY 用法,实例秒懂,避免入坑!...

BackgroundLIMIT 用错了好几次&#xff0c;经常以为LIMIT(10,20) 的意思是检索第11行到第20行&#xff0c;其实不是&#xff01; 而应该是检索从第11行开始的后20行数据。今天定要重新写一遍避免自己入坑&#xff0c;也顺便提醒⏰下小伙伴哇&#xff01;还有一个问题是&#xf…

父子组件使用 props和$emit传值总结(非常全面)

父子组件使用 props和$emit传值 总结: 一: 父传子。注意点有3个。 第1: 在js中用驼峰式命名&#xff0c;在html中替换成短横线 分割式命名 在html中 <child my-message"hello"/>在js中: 子组件中 props:[myMessage]第2: props规范写法 如果 有默认值&#xf…

图解CentOS系统启动流程

作者 |Linux运维之路 来源 | 51CTO博客当我们按下开机键后&#xff0c;系统背后的秘密我们是否了解呢&#xff1f;这里&#xff0c;我带大家探索一下linux系统开机背后的秘密。1.加电自检主板在接通电源后&#xff0c;系统首先由POST程序来对内部各个设备进行检查&#xff0…

python线程监控_python 多线程监测股票涨停板打开 并通知用户

实测&#xff0c;很有用。 具体用法可以到原文链接去查看。 # -*-codingutf-8-*- __author__ Rockyhttp://30daydo.com Contact: weigesysuqq.comimport smtplib, time, os, datetime from email.mime.text import MIMEText from email.header import Header from toolkit imp…

vue 单文件组件(.vue 文件) 和使用 new vue 进行根元素绑定的页面(.html 文件)的区别

vuejs 单文件组件.vue 文件   vuejs 自定义了一种.vue文件&#xff0c;可以把html, css, js 写到一个文件中&#xff0c;从而实现了对一个组件的封装&#xff0c; 一个.vue 文件就是一个单独的组件。由于.vue文件是自定义的&#xff0c;浏览器不认识&#xff0c;所以需要对该…

python 栈和队列_python数据结构之栈与队列

python数据结构之栈与队列 用list实现堆栈stack 堆栈&#xff1a;后进先出 如何进&#xff1f;用append 如何出&#xff1f;用pop() >>> >>> stack [3, 4, 5] >>> stack.append(6) >>> stack.append(7) >>> stack [3, 4, 5, 6, …

Java程序员跳槽面试失败的5个原因

2019独角兽企业重金招聘Python工程师标准>>> 1 说得太少 尤其是那些开放式的问题&#xff0c;如“请介绍下你自己”或“请讲一下你曾经解决过的复杂问题”。 面试官会通过你对这些技术和非技术问题的回答来评估你的激情。他们也会通过模拟团队氛围和与你的交流互动来…