vue 使用eventBus实现同级组件的通讯


Posted in Javascript onMarch 02, 2018

新创建一个vue实例用于调度事件的绑定和发送

可以做到同级组件相互通讯,传递参数,点击第一个组件会修改第二个组件的label值,点击第二个组件会修改第二个组件的label值

vue 使用eventBus实现同级组件的通讯

vue 使用eventBus实现同级组件的通讯

vue 使用eventBus实现同级组件的通讯

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <script src="vue.js"></script>
</head>
<body>
<div id="app">
 <one></one>
 <two></two>
</div>
</body>
<script>
 // 使用一个vue实例 作为事件的载体,用于绑定事件和处理发送事件,作为调度中心
 let eventBus = new Vue()
 let one = {
  template: '<div>{{val}} <button @click="click">click</button></div>',
  data() {
   return {
    val: 0
   }
  },
  created() {
   //为one绑定事件,如果two_click事件发生了,则执行回调函数
   eventBus.$on('two_click',
    (val) => {
     // 这个this 指的是one的vue实例
     this.val = val
    }
   )
  },
  methods: {
   click() {
    // 如果one被点击了,则发送一个one_click的事件,并传递一个参数
    eventBus.$emit('one_click', 11)
   }
  }
 }
 let two = {
  template: '<div>{{val}} <button @click="click">click</button></div>',
  data() {
   return {
    val: 0
   }
  },
  created() {
   eventBus.$on('one_click',
    (val) => {
     this.val = val
    })
  },
  methods: {
   click() {
    eventBus.$emit('two_click', 22)
   }
  }
 }
 new Vue({
  el: '#app',
  components: {
   one,
   two
  }
 })
</script>
</html>

总结

以上所述是小编给大家介绍的vue 使用eventBus实现同级组件的通讯,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
父窗口获取弹出子窗口文本框的值
Jun 27 Javascript
又一个图片自动缩小的JS代码
Mar 10 Javascript
学习ExtJS form布局
Oct 08 Javascript
用js调用迅雷下载代码的二种方法
Apr 15 Javascript
动态读取JSON解析键值对的方法
Jun 03 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
Mar 13 Javascript
JavaScript实现三级联动菜单实例代码
Jun 26 Javascript
JS实现浏览上传文件的代码
Aug 23 Javascript
基于jQuery.i18n实现web前端的国际化
May 04 jQuery
微信小程序上线发布流程图文详解
May 06 Javascript
vue实现条件叠加搜索的解决方法
May 28 Javascript
使用layer弹窗提交表单时判断表单是否输入为空的例子
Sep 26 Javascript
详解node.js 下载图片的 2 种方式
Mar 02 #Javascript
vue2.0+vue-dplayer实现hls播放的示例
Mar 02 #Javascript
详解vue2.0+vue-video-player实现hls播放全过程
Mar 02 #Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
Mar 02 #Javascript
浅谈FastClick 填坑及源码解析
Mar 02 #Javascript
利用vue和element-ui设置表格内容分页的实例
Mar 02 #Javascript
vue将时间戳转换成自定义时间格式的方法
Mar 02 #Javascript
You might like
使用PHP遍历文件夹与子目录的函数代码
2011/09/26 PHP
总结对比php中的多种序列化
2016/08/28 PHP
PHP三种方式实现链式操作详解
2017/01/21 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
2017/06/30 PHP
如何解决PHP获取不到SESSION信息之一般情况
2019/10/10 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
2020/03/02 PHP
jquery 查找新建元素代码
2010/07/06 Javascript
javascript中自定义对象的属性方法分享
2013/07/12 Javascript
jquery+php随机生成红包金额数量代码分享
2015/08/27 Javascript
JS自定义选项卡函数及用法实例分析
2015/09/02 Javascript
JavaScript知识点整理
2015/12/09 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
javascript监听页面刷新和页面关闭事件方法详解
2017/01/09 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
NodeJs中express框架的send()方法简介
2017/06/20 NodeJs
AngularJs 终极购物车(实例讲解)
2017/11/08 Javascript
使用webpack构建应用的方法步骤
2019/03/04 Javascript
jQuery实现可以扩展的日历
2020/12/01 jQuery
详解微信小程序「渲染层网络层错误」的解决方法
2021/01/06 Javascript
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python补齐字符串长度的实例
2018/11/15 Python
对django的User模型和四种扩展/重写方法小结
2019/08/17 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
PyQt实现计数器的方法示例
2021/01/18 Python
英国翻新电子产品购物网站:Tech Trade
2017/12/25 全球购物
Hertz荷兰:荷兰和全球租车
2018/01/07 全球购物
写好自荐信的几个要点
2013/12/26 职场文书
秋季校运动会广播稿
2014/02/23 职场文书
公司业务员岗位职责
2014/03/18 职场文书
市级绿色学校申报材料
2014/08/25 职场文书
森马旗舰店双十一营销方案
2014/09/29 职场文书
事业单位考察材料范文
2014/12/25 职场文书
个人先进事迹材料范文
2014/12/29 职场文书
Python turtle实现贪吃蛇游戏
2021/06/18 Python
win11无法登录onedrive错误代码0x8004def7怎么办 ?
2022/04/05 数码科技