全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)

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

在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小时内与您取得联系。