vue路由params来传递参数(Vue-router如何传递参数)

2025-05-27 22:45:01 :0

vue路由params来传递参数(Vue-router如何传递参数)

今天给各位分享Vue-router如何传递参数的知识,其中也会对Vue-router如何传递参数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录

Vue-router如何传递参数

***隐藏网址***

开发中,参数的传递是个最基本的业务需求。通过URL地址来传递参数是一个形式,这节课我们就看看vue-router为我们提供了哪些传递参数的功能。我们先想象一个基本需求,就是在我们点击导航菜单时,跳转页面上能显示出当前页面的路径,来告诉用户你现在所看的页面位置(类似于面包屑导航)。

一、用name传递参数
前两节课一直出现name的选项,但是我们都没有讲,这节课我们讲name的一种作用,传递参数。接着上节课的程序继续编写。

两步完成用name传值并显示在模板里:

在路由文件src/router/index.js里配置name属性。

模板里(src/App.vue)用$route.name的形势接收,比如直接在模板中显示:

二、通过《router-link》 标签中的to传参

也许你也会觉的上边的传参很不正规,也不方便,其实我们多数传参是不用name进行传参的,我们用《router-link》标签中的to属性进行传参,需要您注意的是这里的to要进行一个绑定,写成:to。先来看一下这种传参方法的基本语法:

这里的to前边是带冒号的,然后后边跟的是一个对象形势的字符串.

了解基本的语法后,我们改造一下我们的src/App.vue里的《router-link》标签,我们把hi1页面的《router-link》进行修改。

给在src/router/index.js文件里的hi1配置的路由起个name,就叫hi1.

最后在模板里(src/components/Hi1.vue)用$route.params.username进行接收.

总结: 今天我们学习了两种传参的方法,一般会使用第二种方法。我们通过学习也知道了name的用途,一种作用是传参,一种作用是在传参时起到名称作用。传参的操作在实际开发中是基本的需求,我们一定要掌握好啊。

vue this.router 怎么传递参数

主要有以下几个步骤:
(1) 设置好路由配置
router.map({
’/history/:deviceId/:dataId’: {
name: ’history’, // give the route a name
component: { ... }
}
})
这里有2个关键点:
a)给该路由命名,也就是上文中的 name: ’history’,
b)在路径中要使用在路径中使用冒号开头的数字来接受参数,也就是上文中的 :deviceId, :dataId;
(2)在v-link中传递参数;
《a v-link="{ name: ’history’, params: { deviceId: 123, dataId:456 }}"》history《/a》
这里的123,456都可以改用变量。
比如该template所对应的组件有2个变量定义如下:
data: function() {
return {
deviceId:123,
dataId:456
}
}
此时上面那个v-link可以改写为:
《a v-link="{ name: ’history’, params: { deviceId: deviceId, dataId: dataId }}"》history《/a》
(3)在router的目标组件上获取入参
比如在router目标组件的ready函数中可以这么使用。
ready: function(){
console.log(’deviceid: ’ + this.$route.params.deviceId);
console.log(’dataId: ’ + this.$route.params.dataId);
}

Vue 路由传值的几种方法

方案一:

getDescribe(id) {//   直接调用$router.push 实现携带参数的跳转
this.$router.push({
path: `/describe/${id}`,
})

方案一,需要对应路由配置如下:

{     path: ’/describe/:id’,
name: ’Describe’,
component: Describe
}

很显然,需要在path中添加/:id来对应 $router.push 中path携带的参数。在子组件中可以使用来获取传递的参数值。

this.$route.params.id

方案二:

父组件中:通过路由属性中的name来确定匹配的路由,通过params来传递参数。

this.$router.push({          name: ’Describe’,          params: {            id: id
}
})

对应路由配置: 注意这里不能使用:/id来传递参数了,因为父组件中,已经使用params来携带参数了。

{     path: ’/describe’,
name: ’Describe’,
component: Describe
}

子组件中: 这样来获取参数

this.$route.params.id

方案三:

父组件:使用path来匹配路由,然后通过query来传递参数
这种情况下 query传递的参数会显示在url后面?id=?

this.$router.push({          path: ’/describe’,          query: {            id: id
}
})

对应路由配置:

{     path: ’/describe’,
name: ’Describe’,
component: Describe
}

对应子组件: 这样来获取参数

this.$route.query.id
这里要特别注意 在子组件中 获取参数的时候是$route.params 而不是
$router 这很重要~~~

vue 路由传参数和隐藏参数

vue中路由中需要传递参数的话可以用query和param传递,两者类似于get和post。前者地址栏类似xx?p=1后者为xx/1,且后者可以隐藏地址栏显示。其实也可以用vue推荐的vuex进行响应式的参数管理。

两者传递参数需要router/index.js进行配置:

只需要去掉修改path即可,但是刷新会丢失数据,可以通过localstorage解决刷新问题。

Vue Router路由传参三种方法及区别

1、第一种方法:拼接方式:

methods:{

handleClick(id) {//直接调用$router.push 实现携带参数的跳转

 this.$router.push({path: `/detail/${id}`,})

}
对应路由配置:
{

path:’/detail/:id’,

name:’detail’,

component: detail

} 获取参数方式: this.$route.params.id
2、第二种方法:params传参 (通过路由属性中的name来确定匹配的路由,通过params来传递参数。)
methods:{

handleClick(id) {

this.$router.push({name:’detail’, // 根据name确定匹配路由params: {id: id}})

}
//或者采用router-link前往Detail页面

《router-link :to="{name: ’detail’, params: { id: 1 }}"》前往Detail页面《/router-link》

对应路由配置:
{

path:’/detail/:id’,

name:’detail’,

component: detail

}  获取参数方式: this.$route.params.id

三、第三种方法:query传参
使用path来匹配路由,然后通过query来传递参数,这种情况下 query传递的参数会显示在url后面?id=?
methods:{

handleClick(id) {

this.$router.push({path:’/detail’,query: {id: id}})

}
对应路由配置:
{

path:’/detail’,

name:’detail’,

component: detail

}  //获取参数:this.$route.query.id
四、总结:params和query中的区别
1、接收方式

query传参:this.$route.query.id

params传参:this.$route.params.id

2、路由展现方式

query传参:/detail?id=1&user=123&identity=1&更多参数

params传参:/detail/123

vue-router 路由动态传参 query和params的区别

/data/:id这个路由匹配/data/1,/data/2这里的 id 叫 params
/data?id=1 /data?id=2 这里的 id 叫 query

当你使用params方法传参的时候,要在路由后面加参数名,并且传参的时候,参数名要跟路由后面设置的参数名对应。使用query方法,就没有这种限制,直接在跳转里面用就可以。
这句话怎么理解呢?看下边:
如果你要使用params传参,那么你的路由页面index.js必须带上参数,如下

如果你要使用query传参,那么你的路由页面index.js必须带上参数,如下

这里看方法3,4,其实是对应方法1,2的,也就是说使用query方法,可以与path和name共用,2个都可以,但是params只能对应name。

要是想获取参数值:各自的获取方法是:
query和params分别是:this. route.params.id

顺便说一些参数是多个的情况
params传参,如果路由index.js如下:

那么跳转写法:this.$router.push({name:’detail’,params:{id:123,name:’lisi’}})
***隐藏网址***
query的写法参考上面。

query跟params,前者在浏览器地址栏中显示参数,后者则不显示。

vue使用props在组件中传输和接收参数

1、在组件中使用props选项定义数据,接收参数;
2、在路由中,使用props选项来进行设置,路由中的props有三种模式:
a、布尔模式:props设置为true,可接收params方式的参数传递;
{
path:"bjc/:name/:price",//定义其属性
component:Bjc,
props:true
},
接收参数:
props: {
keyword: {
type: String,
default: ’’
}
},
在浏览器中的表现形式: www.qijinn.com/item/search/1/2
b、函数模式:props为函数,可接收query方式参数的传递;
路由定义: {
path: ’/items/search/result’,
name: ’search-result’,
meta: {
keepAlive: true
},
component: asyncLoader(’items/search-result’),
props: route =》 route.query
},
传递参数:
this.$router.push({
name: ’search-result’,
query: { keyword: word.trim() }
});
接收参数:
props: {
keyword: {
type: String,
default: ’’
}
},
在浏览器中的表现形式: www.qijinn.com/item/search/result?keyword= 七堇年

c、对象模式:props为对象。如果处理静态数据,可使用对象模式;
{
path:"yc",
component:Yc,
props:{
name:’蜜汁叉烧量版式’,
price:648
}
},

接收参数:
props: {
keyword: {
type: String,
default: ’’
}
},

如果你还想了解更多这方面的信息,记得收藏关注本站。

vue路由params来传递参数(Vue-router如何传递参数)

本文编辑:admin

更多文章:


rate的用法及搭配(达成率用英语怎么说)

rate的用法及搭配(达成率用英语怎么说)

大家好,rate的用法及搭配相信很多的网友都不是很明白,包括达成率用英语怎么说也是一样,不过没有关系,接下来就来为大家分享关于rate的用法及搭配和达成率用英语怎么说的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目

2026年5月19日 10:45

c语言编程求两数之和(c语言中求两个数之和)

c语言编程求两数之和(c语言中求两个数之和)

本篇文章给大家谈谈c语言编程求两数之和,以及c语言中求两个数之和对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录c语言中求两个数之和c语言求

2025年5月26日 13:15

下载免费java(有什么无病毒、安全的网站可以免费下载java格式手机游戏,且是触屏全屏的)

下载免费java(有什么无病毒、安全的网站可以免费下载java格式手机游戏,且是触屏全屏的)

大家好,如果您还对下载免费java不太了解,没有关系,今天就由本站为大家分享下载免费java的知识,包括有什么无病毒、安全的网站可以免费下载java格式手机游戏,且是触屏全屏的的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧

2026年9月24日 18:00

php7连接mysql数据库操作(PHP7连接mysql数据库方法)

php7连接mysql数据库操作(PHP7连接mysql数据库方法)

大家好,如果您还对php7连接mysql数据库操作不太了解,没有关系,今天就由本站为大家分享php7连接mysql数据库操作的知识,包括PHP7连接mysql数据库方法的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目

2025年12月29日 00:15

c语言终止程序(C语言~~~如何使程序中途结束、跳出~~~)

c语言终止程序(C语言~~~如何使程序中途结束、跳出~~~)

今天给各位分享C语言~~~如何使程序中途结束、跳出~~~的知识,其中也会对C语言~~~如何使程序中途结束、跳出~~~进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录C语言~~~如何使程序中途结束、跳出~~~C语

2025年6月5日 07:30

swing工具包(如何向eclipse里插入Swing包)

swing工具包(如何向eclipse里插入Swing包)

各位老铁们,大家好,今天由我来为大家分享swing工具包,以及如何向eclipse里插入Swing包的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录

2025年11月5日 16:15

源码网站怎么进(网页源文件如何用网页打开)

源码网站怎么进(网页源文件如何用网页打开)

大家好,源码网站怎么进相信很多的网友都不是很明白,包括网页源文件如何用网页打开也是一样,不过没有关系,接下来就来为大家分享关于源码网站怎么进和网页源文件如何用网页打开的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目

2026年9月14日 10:15

达内教育登录(达内培训四个月靠谱吗)

达内教育登录(达内培训四个月靠谱吗)

本篇文章给大家谈谈达内教育登录,以及达内培训四个月靠谱吗对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录达内培训四个月靠谱吗达内培训it靠谱么大连达内培训怎么样,就业好不好达内课程中心达内贷款培训达内培训四个月靠谱吗在达内培训

2025年11月17日 17:45

flex布局的兼容性(怎么用css使得input的输入框对齐,要写出代码,别百度其他的)

flex布局的兼容性(怎么用css使得input的输入框对齐,要写出代码,别百度其他的)

今天给各位分享怎么用css使得input的输入框对齐,要写出代码,别百度其他的的知识,其中也会对怎么用css使得input的输入框对齐,要写出代码,别百度其他的进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录怎

2026年7月27日 12:15

正则表达式支持库(怎样在aardio中使用正则表达式,用哪个函数)

正则表达式支持库(怎样在aardio中使用正则表达式,用哪个函数)

本篇文章给大家谈谈正则表达式支持库,以及怎样在aardio中使用正则表达式,用哪个函数对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录怎样在

2025年11月17日 05:30

math函数用法(如何使用python中的math)

math函数用法(如何使用python中的math)

大家好,关于math函数用法很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于如何使用python中的math的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文

2026年8月3日 04:45

腾讯云数据库管理工具(navicat导入mangodb几百万行传输中断)

腾讯云数据库管理工具(navicat导入mangodb几百万行传输中断)

大家好,腾讯云数据库管理工具相信很多的网友都不是很明白,包括navicat导入mangodb几百万行传输中断也是一样,不过没有关系,接下来就来为大家分享关于腾讯云数据库管理工具和navicat导入mangodb几百万行传输中断的一些知识点,

2025年12月5日 03:30

java 线程安全(java中为什么说,String是线程安全的)

java 线程安全(java中为什么说,String是线程安全的)

这篇文章给大家聊聊关于java 线程安全,以及java中为什么说,String是线程安全的对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录java中为什么说,String是线程安全的JAVA中如何保证线程安全以及主键自增有序j

2026年5月1日 04:00

下载excel教程(windows家庭中文版的怎么下载excel教程)

下载excel教程(windows家庭中文版的怎么下载excel教程)

这篇文章给大家聊聊关于下载excel教程,以及windows家庭中文版的怎么下载excel教程对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录windows家庭中文版的怎么下载excel教程如何安装excel软件的教程offi

2026年8月11日 20:15

delphi控制485(如何在delphi中使用海康威视的485口)

delphi控制485(如何在delphi中使用海康威视的485口)

今天给各位分享如何在delphi中使用海康威视的485口的知识,其中也会对如何在delphi中使用海康威视的485口进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录如何在delphi中使用海康威视的485口de

2026年9月4日 06:00

reflection固定搭配(scattered固定搭配)

reflection固定搭配(scattered固定搭配)

这篇文章给大家聊聊关于reflection固定搭配,以及scattered固定搭配对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录scattered固定搭配prefer to do和prefer doing的区别afford的

2026年3月24日 11:15

tengine windows(天龙八部报错是怎么回事啊 )

tengine windows(天龙八部报错是怎么回事啊 )

大家好,如果您还对tengine windows不太了解,没有关系,今天就由本站为大家分享tengine windows的知识,包括天龙八部报错是怎么回事啊 的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录天龙八部

2026年2月14日 17:45

ctab化学名称?predictive与predictable的区别

ctab化学名称?predictive与predictable的区别

今天给各位分享ctab化学名称的知识,其中也会对ctab化学名称进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录ctab化学名称predictive与predictable的区别ctab化学名称ctab是化学物

2026年8月14日 15:30

battery is critically low是什么意思(电脑开机出显warning!batteryiscritcallylow就停在这个位置不动是什么情)

battery is critically low是什么意思(电脑开机出显warning!batteryiscritcallylow就停在这个位置不动是什么情)

大家好,关于battery is critically low是什么意思很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于电脑开机出显warning!batteryiscritcallylow就停在这个位置不动是什么情的知识点

2025年12月14日 00:30

乘风滑块游戏(数字华容道怎么玩)

乘风滑块游戏(数字华容道怎么玩)

各位老铁们好,相信很多人对乘风滑块游戏都不是特别的了解,因此呢,今天就来为大家分享下关于乘风滑块游戏以及数字华容道怎么玩的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录数字华容道怎么玩很多长方形最后红色出关卡叫什

2025年6月26日 07:45

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索