vue组件之间的传值(兄弟间的传值)
概要:vue组件之间的传值大致有三种:父传子,子传父,还有兄弟之间,今天我们主要来讲兄弟之间的传值。废话不多说,我们直奔主题vue 组件兄弟间的传值是要通过一个事件总线来实现(可以把事件总线理解为一个全局变量),他是做完一个兄弟之间的桥梁,总线的名称是可以随便来起的,但通常有几个固定的名字是人们看到都认识能识别到的,如下图:这是两行模板一样的代码,第一行应用vue,第二行创建一个对象,事件总线就创
概要:vue组件之间的传值大致有三种:父传子,子传父,还有兄弟之间,今天我们主要来讲兄弟之间的传值。废话不多说,我们直奔主题
vue 组件兄弟间的传值是要通过一个事件总线来实现(可以把事件总线理解为一个全局变量),他是做完一个兄弟之间的桥梁,总线的名称是可以随便来起的,但通常有几个固定的名字是人们看到都认识能识别到的,如下图:
这是两行模板一样的代码,第一行应用vue,第二行创建一个对象,事件总线就创建好了。
注:事件总线是js文件
接下来我们就可以直接用这个事件总线来搭起兄弟间的桥梁了,下面是个小例子,已与助大家理解:
这是一个主页面,左边是一个目录菜单,当点击左边组件(Left)目录内容时,给右边的组件传值(Right"),让其内容随着目录选择改而改变,这个怎么实现呢,如下:
引入我们的事件总线,然后给每个导航点击按钮使用
e
m
i
t
实
现
一
个
传
值
的
效
果
,
点
击
m
e
n
u
1
,
我
们
就
传
值
1
,
就
是
将
1
我
们
赋
给
了
′
v
a
l
′
,
然
后
通
过
emit 实现一个传值的效果,点击 menu1,我们就传值1,就是将 1 我们赋给了'val',然后通过
emit实现一个传值的效果,点击menu1,我们就传值1,就是将1我们赋给了′val′,然后通过emit触发到on事件里,on事件写在哪呢,写在右边的组件里,如下:
在这里我们同样引入事件总线,然后就可以用on事件把前边传的值接收过来,然后赋给我们所需要的,如上赋值给kk,这样当我们点击 menu1 的时候,右边就可以变成我们想要的相对应的组件,我们的传值就成功了。
是不是很简单呢,如果对你有帮助,就请为我点赞吧~。
更多推荐
所有评论(0)