Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
发布时间 - 2026-01-11 03:14:47 点击率:次我们接着上文继续,本文我们讲解兄弟组件的通信,项目结构还是跟上文一样.

在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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
js实现点击每个li节点,都弹出其文本值及修改
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
Laravel如何使用withoutEvents方法临时禁用模型事件
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
公司门户网站制作流程,华为官网怎么做?
php结合redis实现高并发下的抢购、秒杀功能的实例
Laravel如何记录自定义日志?(Log频道配置)
宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
如何在腾讯云服务器快速搭建个人网站?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
JavaScript Ajax实现异步通信
详解阿里云nginx服务器多站点的配置
微信小程序 canvas开发实例及注意事项
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
Laravel怎么使用artisan命令缓存配置和视图
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
Mybatis 中的insertOrUpdate操作
香港服务器租用费用高吗?如何避免常见误区?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
如何用好域名打造高点击率的自主建站?
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
如何在云服务器上快速搭建个人网站?
Laravel怎么实现支付功能_Laravel集成支付宝微信支付
智能起名网站制作软件有哪些,制作logo的软件?
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
如何在万网自助建站平台快速创建网站?
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
详解Oracle修改字段类型方法总结
Angular 表单中正确绑定输入值以确保提交与验证正常工作
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
Laravel如何处理表单验证?(Requests代码示例)
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
JavaScript模板引擎Template.js使用详解
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
西安专业网站制作公司有哪些,陕西省建行官方网站?
jQuery中的100个技巧汇总
如何在云主机快速搭建网站站点?
如何在香港免费服务器上快速搭建网站?
Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】
北京企业网站设计制作公司,北京铁路集团官方网站?

