vue兄弟组件传值的两种方式

本demo主要是为了演示vue项目中兄弟组件之间的传值,这里我演示了两种方式:

a. bus总线传值;

b. 我自己一般把它当成常规的传值(其实也就是子组件A传父组件,父组件再传子组 件B)

下边开始本次demo的编写:

一. bus总线传值的使用:

在项目中创建一个单独的eventBus.js文件
在这里插入图片描述
该js文件的内容很简单,就是暴露一个vue实例而已。
在这里插入图片描述
有人喜欢在main.js全局引入该js文件,我一般在需要使用到组件中引入。

创建相关组件:
在这里插入图片描述
父组件中注册并使用子组件:
在这里插入图片描述
分别在子组件one和two中引入eventBus.js
在这里插入图片描述
one组件向two组件传值:(传值使用$emit)
在这里插入图片描述
two组件接收到one组件的值:(接收值使用$on)
在这里插入图片描述
到这里其实使用bus总线实现兄弟组件之间的传值已经完成。

二. 使用常规的传值:(子传父,父再传子)

新建组件three和four,在父组件注册并使用:
在这里插入图片描述
在这里插入图片描述
three组件想要传值给它的兄弟组件four:
在这里插入图片描述
父组件监听到three组件要传给four组件的值:
在这里插入图片描述
在这里插入图片描述
接收到three组件的值后,传给four:
在这里插入图片描述
four组件接收父组件传达的值:
在这里插入图片描述
到这里常规的兄弟组件传值也完成。

总结:

a. 其实就是使用 this.$emit('标志符','要传递的值') 实现将该组件传给父组件;

b. 父组件中:通过需要向外传值的子组件标签的标志符,在自定义的方法中将值拿 到,并存起来,然后再用 :A=存值得属性这种格式 传给另外的子组件;

c. 另外的子组件中使用props['A'],将传过来的值拿到,并且在需要用的地方使用,

如果在methods中使用的A的话,其实和使用data中的属性一样,也是用this.xx 这种格式。
3.本次demo的效果:
http://vd3.bdstatic.com/mda-kecpr4ef6p16bypj/mda-kecpr4ef6p16bypj.mp4?playlist=%5B%22hd%22%2C%22sc%22%5D

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值