vue router传参

人气:101 ℃/2023-01-16 04:09:38

vue router怎么传参呢?不知道的小伙伴来看看小编今天的分享吧!

vue router传递参数有三种方法:

方法一:使用name传递

接收参数:

在我们需要接收它的页面里添加

<p>我是router-name:{undefined{$route.name}}</p>

比如在这里是在APP.vue中接收的,希望切换每个页面都能看见参数。

看结果:

方法二:用to来传递

利用router-link 中的to来传参,看语法:

<router-link v-bind:to="{name:'xxx',params:{key:value}}"></router-link>

a.首先:to需要绑定;

b.传参使用类似与对象的形式;

c.name就是我们在配置路由时候取的名字;

d.参数也是采用对象的形式。

实际操作一下:

a.在APP.vue中将to里面的路径改成上面那样

<router-link :to="{name:'hellovue',params:{username:'tomcat'}}">hellovue页面</router-link>

这里我们注意to的写法,前面加了冒号,因为那是绑定的,传递一个username过去,值为tomcat

b.在index.js里面给hellovue配置名字叫hellovue,与上面name相对应

c、在hellovue.vue中接收参数

<p>传递的名字是:{{$route.params.username}}</p>

看看结果:

方法三:采用url传参

在路由文件里采用冒号的形式传参,这就是对参数的绑定

a、修改index.js里的path,这里我们修改myjob.vue组件

b、在App.vue组件里传递参数

c、在myjob.vue组件里显示我们要展示的内容(接收参数)

d、看看结果

以上就是小编今天的分享了,希望可以帮助到大家。

vuerouter传参

vue中router常见的三种传参方式

目录:我们在使用vue开发的过程中使用router跳转的时候肯定会遇到传参的情况;一般情况就三种传参是最常见的;那我们就来看看都有那几种传参方式吧!

第一种:

{ path: '/mall:id', name: 'Mall', component: lazyLoadMall('mall') }

this.$router.push(`/mall${0}`)

获取参数:

console.log(this.$route.params) // 这儿原来写错了;感谢 @用户5158362048184 提出并修改第二种:

this.$router.push({ name: 'Mall', query: { id: 0 } })

获取参数:

console.log(this.$route.query)第三种:

this.$router.push({ name: 'Mall', params: { id: 0 } })

获取参数:

console.log(this.$route.params)

注意:第三种传参在刷新后数据会丢失;可以用JSON.stringify()进行传参避免在刷新以后数据丢失的情况

如果有什么不对的地方;欢迎大家补充;相互学习、共勉

推荐

首页/电脑版/网名
© 2025 NiBaKu.Com All Rights Reserved.