vue this.router 怎么传递参数

vue this.router 怎么传递参数,第1张

主要有以下几个步骤:

(1) 设置好路由配置

routermap({

'/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(){

consolelog('deviceid: ' + this$routeparamsdeviceId);

consolelog('dataId: ' + this$routeparamsdataId);

}

应用场景:拥有共同父级页面的两个页面传参

原理:vue一个新的实例,类似于一个站,连接着两个组件,也就是一个中央事件总线;

实战:

1在需要传参的页面引入Bus文件

2通过Bus$emit('name','value')传参

(pass:$emit实例方法触发当前实例(这里的当前实例就是bus)上的事件,附加参数都会传给监听器回调。)

1在需要接收的页面引入Bus文件

2通过Bus$on("name", data => {});接收

(pass:on:监听当前实例上的自定义事件(此处当前实例为bus)。事件可以由emit触发,回调函数会接收所有传入事件触发函数($emit)的额外参数。)

最近,由于工作需要,需要去面试一些前端,由于自己是那种实 *** 型的程序猿,不擅长这方面,但是没办法,只能硬着头皮上,第一次有些紧张,后来慢慢就好了,在过程中,发现面试别人自己可以系统的学到很多知识,比如说有些原理性的东西,系统的知识,就可以在学习一遍,并且比之前理解的更透彻了,所以说,什么时候都可以学习,加油吧,骚年。

取参方法:

真的是学无止境,好多时候还是要注意好多细节的东西,否则学到的就只是皮毛。以上为我项目过程中遇到的坑以及总结的经验,若有什么错误的地方,还请伙伴们多多指正。

以上就是关于vue this.router 怎么传递参数全部的内容,包括:vue this.router 怎么传递参数、vue兄弟组件传参、vue $router 路由传参的3种方法详解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9601023.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存