我们接着上文继续,本文我们讲解兄弟组件的通信,项目结构还是跟上文一样.

在src/assets目录下建立文件EventHandler.js,该文件的作用在于给同级组件之间传递事件
EventHandler.js代码:
import Vue from 'Vue'; export default new Vue();
1,在Components目录下新建一个组件Brother1.vue
<template>
<div>
<h3>Z国: ghostwu</h3>
<input v-on:click="send" type="button" value="发送">
<p>{{msg}}</p>
</div>
</template>
<script>
import EventHandler from '../assets/EventHandler.js';
export default {
data(){
return {
msg : ''
}
},
methods : {
send(){
EventHandler.$emit( 'myDefineEv', "ghostwu向岛国发射了一颗*" );
}
},
mounted (){
let _this = this;
EventHandler.$on( "RDefineEv", function( data ){
_this.msg = data;
} );
}
}
</script>
。通过EventHandler.$emit发送一个自定义事件myDefineEv
。通过mouted【相当于jquery的ready, 原生js的onload】,这个是vue生命周期的钩子函数, 用于在页面加载完成之后执行代码,在这里就是接收RDefineEv事件( Brother2.vue定义的 )
2,在Components目录下新建一个组件Brother2.vue
<template>
<div>
<h3>R国:八嘎</h3>
{{msg}}
<input v-on:click="defend" type="button" value="防御">
</div>
</template>
<script>
import EventHandler from '../assets/EventHandler.js';
export default {
data(){
return {
msg : ''
}
},
methods : {
defend(){
EventHandler.$emit( 'RDefineEv', "岛国采用了高科技反*系统" );
}
},
mounted(){
let _this = this;
EventHandler.$on( "myDefineEv", function( data ){
_this.msg = data;
} );
}
}
</script>
。点击按钮发送RDefineEv事件
。文档ready的时候,接收myDefineEv(Brother1.vue)出发的自定义事件
三、在App.vue中调用两个同级组件
<template>
<div id="app">
<Brother1></Brother1>
<Brother2></Brother2>
</div>
</template>
<script>
import Brother1 from './components/Brother1.vue';
import Brother2 from './components/Brother2.vue';
export default {
components : {
Brother1,
Brother2
}
}
</script>
小结:
创建一个事件传递中心,例如EventHandler.js,用它作为传递消息的中介
在需要传值的组件中用EventHandler.$emit触发一个自定义事件,并传递参数
在需要接收数据的组件中用EventHandler.$on监听自定义事件,并在回调函数中处理传递过来的参数
以上这篇Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# vue-cli
# webpack
# Vue非父子组件之间的通信方式详解
# Vue3.2+Ts组件之间通信的实现
# vue中组件之间相互通信传值的几种方法详解
# vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
# vue2.0组件之间传值、通信的多种方式(干货)
# 详解Vue组件之间的数据通信实例
# Vue 组件之间的通信方式详解
# 自定义
# 给大家
# 目录下
# 新建一个
# 在这里
# 并在
# 一颗
# 希望能
# 采用了
# 这篇
# 用它
# 该文件
# 创建一个
# 回调
# 小编
# 大家多多
# 射了
# 加载
# 文档
# vue
相关文章:
如何挑选最适合建站的高性能VPS主机?
如何快速生成橙子建站落地页链接?
南平网站制作公司,2025年南平市事业单位报名时间?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
装修招标网站设计制作流程,装修招标流程?
建站之星代理商如何保障技术支持与售后服务?
网站企业制作流程,用什么语言做企业网站比较好?
香港服务器如何优化才能显著提升网站加载速度?
公司网站的制作公司,企业网站制作基本流程有哪些?
北京专业网站制作设计师招聘,北京白云观官方网站?
建站中国官网:模板定制+SEO优化+建站流程一站式指南
建站之星免费版是否永久可用?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
如何在阿里云完成域名注册与建站?
如何高效完成独享虚拟主机建站?
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
兔展官网 在线制作,怎样制作微信请帖?
如何选择美橙互联多站合一建站方案?
如何用搬瓦工VPS快速搭建个人网站?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
如何在万网自助建站平台快速创建网站?
公司网站设计制作厂家,怎么创建自己的一个网站?
青浦网站制作公司有哪些,苹果官网发货地是哪里?
*服务器网站为何频现安全漏洞?
建站之星安装后如何自定义网站颜色与字体?
宿州网站制作公司兴策,安徽省低保查询网站?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
高端建站如何打造兼具美学与转化的品牌官网?
建站之星会员如何解锁更多建站功能?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
如何在阿里云购买域名并搭建网站?
如何快速登录WAP自助建站平台?
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
高防服务器:AI智能防御DDoS攻击与数据安全保障
如何在宝塔面板中创建新站点?
山东网站制作公司有哪些,山东大源集团官网?
香港服务器建站指南:免备案优势与SEO优化技巧全解析
婚礼视频制作网站,学习*后期制作的网站有哪些?
如何快速生成高效建站系统源代码?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
建站之星后台管理:高效配置与模板优化提升用户体验
定制建站方案优化指南:企业官网开发与建站费用解析
金*站制作公司有哪些,金华教育集团官网?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?
如何设计高效校园网站?
如何通过二级域名建站提升品牌影响力?
*请认真填写需求信息,我们会在24小时内与您取得联系。