vue2.0中怎么实现兄弟组件通讯

这篇文章将为大家详细讲解有关vue2.0中怎么实现兄弟组件通讯,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

1、前戏吧

vue2.0中怎么实现兄弟组件通讯

个人理解:

这明显是生活中弟弟打电话哥哥一样,双方都需要手机,需要信号发射塔。

  • 弟弟 => A组件

  • 哥哥 => B组件

  • 弟弟的手机 => $emit发送数据

  • 哥哥的手机 => $on监听并接收数据

  • 信号发射塔 => 中间事件线

  • App.vue => 不用说都知道是地球

2、 代码

2.1、在src/asstes下新建中间事件线ligature .js (注意后缀.js)

importVuefrom'Vue'
exportdefaultnewVue;

2.2、在src/components新建A.vue

<template>
<div>
<h3>A组件</h3>
<buttonv-on:click="spot">点一下就传</button>
</div>
</template>
<script>
importbusfrom'../assets/ligature';
exportdefault{
methods:{
spot:function(){
//监听A组件中的spot,并发送数据
bus.$emit("spot",'没想到吧!!我是A组件')
}
}
}
</script>

2.3、在src/components新建B.vue

<template>
<div>
<h3>B组件</h3>
<p>结果:{{msg}}</p>
</div>
</template>
<script>
importbusfrom"../assets/ligature";
exportdefault{
data(){
return{
msg:"这TMD是默认值除非你点一下上面的按钮"
};
},
mounted(){
var_this=this;
//监听A组件中的spot,并接受数据
bus.$on("spot",function(msg){
_this.msg=msg;
});
}
};
</script>
<style>
p{
font-size:20px;
color:darkcyan;
}
</style>

2.4、修改App.vue (地球),注册这两个组件,并添加这两个组件的标签

<template>
<divid="app">
<A/>
<hr>
<B/>
</div>
</template>
<script>
importAfrom'./components/A'
importBfrom'./components/B'
exportdefault{
name:'App',
components:{
A,
B
}
}
</script>

关于vue2.0中怎么实现兄弟组件通讯就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

发布于 2021-07-09 21:18:19
收藏
分享
海报
0 条评论
187
上一篇:AngularJS怎么实现表单验证功能 下一篇:Vue组件如何实现高德地图地址选择功能
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码