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 相关文章推荐
Javascript之旅 对象的原型链之由来
Aug 25 Javascript
jQuery boxy弹出层插件中文演示及使用讲解
Feb 24 Javascript
jQuery:节点(插入,复制,替换,删除)操作
Mar 04 Javascript
javascript随机显示背景图片的方法
Jun 18 Javascript
kindeditor编辑器点中图片滚动条往上顶的bug
Jul 05 Javascript
JavaScript如何禁止Backspace键
Dec 02 Javascript
详解Vue2.0里过滤器容易踩到的坑
Jun 01 Javascript
使用jQuery 操作table 完成单元格合并的实例
Dec 27 jQuery
浅析Vue 生命周期
Jun 21 Javascript
AngularJS中ng-options实现下拉列表的数据绑定方法
Aug 13 Javascript
jQuery 查找元素操作实例小结
Oct 02 jQuery
可拖拽组件slider.js使用方法详解
Dec 04 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中base_convert()进制数字转换函数实例
2014/11/20 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
用JS提交参数创建form表单在FireFox中遇到的问题
2013/01/16 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
2013/12/25 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
js中 javascript:void(0) 用法详解
2015/08/11 Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
2016/05/16 Javascript
基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)
2016/07/22 Javascript
jquery点击切换背景色的简单实例
2016/08/25 Javascript
jQuery获取table表中的td标签(实例讲解)
2017/07/28 jQuery
JS实现根据指定值删除数组中的元素操作示例
2018/08/02 Javascript
ES6 中可以提升幸福度的小功能
2018/08/06 Javascript
layui switch 开关监听 弹出确定状态转换的例子
2019/09/21 Javascript
微信小程序 点击切换样式scroll-view实现代码实例
2019/10/11 Javascript
解决vue 给window添加和移除resize事件遇到的坑
2020/07/21 Javascript
[43:58]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第一场 1月8日
2021/03/11 DOTA
Python开发编码规范
2006/09/08 Python
pygame学习笔记(1):矩形、圆型画图实例
2015/04/15 Python
Python fileinput模块使用实例
2015/06/03 Python
Python中属性和描述符的正确使用
2016/08/23 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
2018/01/05 Python
numpy中矩阵合并的实例
2018/06/15 Python
python修改txt文件中的某一项方法
2018/12/29 Python
pandas分组聚合详解
2020/04/10 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
2020/10/15 Python
欧舒丹比利时官网:L’OCCITANE比利时
2017/04/25 全球购物
Ejb技术面试题
2015/04/29 面试题
档案管理员岗位职责
2013/12/01 职场文书
上班玩游戏检讨书
2014/02/07 职场文书
广告词串烧
2014/03/19 职场文书
幼儿园区域活动总结
2014/05/08 职场文书
消防志愿者活动方案
2014/08/23 职场文书
教师查摆问题及整改措施
2014/10/11 职场文书
幼儿园卫生保健制度
2015/08/05 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技