概要:vue组件之间的传值大致有三种:父传子,子传父,还有兄弟之间,今天我们主要来讲兄弟之间的传值。废话不多说,我们直奔主题

vue 组件兄弟间的传值是要通过一个事件总线来实现(可以把事件总线理解为一个全局变量),他是做完一个兄弟之间的桥梁,总线的名称是可以随便来起的,但通常有几个固定的名字是人们看到都认识能识别到的,如下图:
vue组件之间的传值(兄弟间的传值)
这是两行模板一样的代码,第一行应用vue,第二行创建一个对象,事件总线就创建好了。
:事件总线是js文件

接下来我们就可以直接用这个事件总线来搭起兄弟间的桥梁了,下面是个小例子,已与助大家理解

vue组件之间的传值(兄弟间的传值)
这是一个主页面,左边是一个目录菜单,当点击左边组件(Left)目录内容时,给右边的组件传值(Right"),让其内容随着目录选择改而改变,这个怎么实现呢,如下:
vue组件之间的传值(兄弟间的传值)
引入我们的事件总线,然后给每个导航点击按钮使用emitmenu111valemit 实现一个传值的效果,点击 menu1,我们就传值1,就是将 1 我们赋给了'val',然后通过emit触发到on事件里,on事件写在哪呢,写在右边的组件里,如下:
vue组件之间的传值(兄弟间的传值)
在这里我们同样引入事件总线,然后就可以用on事件把前边传的值接收过来,然后赋给我们所需要的,如上赋值给kk,这样当我们点击 menu1 的时候,右边就可以变成我们想要的相对应的组件,我们的传值就成功了。

是不是很简单呢,如果对你有帮助,就请为我点赞吧~。

相关文章:

  • 2019-07-19
  • 2019-08-14
  • 2020-04-24
  • 2021-09-25
  • 2019-05-23
  • 2019-05-23
  • 2019-10-07
  • 2021-10-03
猜你喜欢
  • 2021-11-04
  • 2021-03-09
  • 2019-06-17
  • 2019-12-19
  • 2019-09-24
  • 2019-12-26
  • 2020-11-02
  • 2019-03-11
相关资源
相似解决方案