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 相关文章推荐
JQuery打造PHP的AJAX表单提交实例
Nov 03 Javascript
编写可维护面向对象的JavaScript代码[翻译]
Feb 12 Javascript
模拟一个类似百度google的模糊搜索下拉列表
Apr 15 Javascript
JavaScript函数作用域链分析
Feb 13 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
May 03 Javascript
js实现模拟银行卡账号输入显示效果
Nov 18 Javascript
jQuery设置聚焦并使光标位置在文字最后的实现方法
Aug 02 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
Sep 18 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
Apr 11 Javascript
Vue隐藏显示、只读实例代码
Jul 18 Javascript
JavaScript中将值转换为字符串的五种方法总结
Jun 06 Javascript
openlayers4.6.5实现距离量测和面积量测
Sep 25 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
双料怀旧--SHARP GF515的维护、修理和简单调试
2021/03/02 无线电
如何利用php+mysql保存和输出文件
2006/10/09 PHP
php中json_encode UTF-8中文乱码的更好解决方法
2014/09/28 PHP
php读取本地json文件的实例
2018/03/07 PHP
JavaScript插入动态样式实现代码
2012/02/22 Javascript
javascript的console.log()用法小结
2012/05/31 Javascript
javascript测试题练习代码
2012/10/10 Javascript
2012年开发人员的16款新鲜的jquery插件体验分享
2012/12/28 Javascript
js对象内部访问this修饰的成员函数示例
2014/04/27 Javascript
创建一个类Person的简单实例
2016/05/17 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
2016/12/14 Javascript
微信小程序侧边栏滑动特效(左右滑动)
2017/01/23 Javascript
jQuery模拟下拉框选择对应菜单的内容
2017/03/07 Javascript
Angular2开发——组件规划篇
2017/03/28 Javascript
VUE2.0中Jsonp的使用方法
2018/05/22 Javascript
nodejs的路径问题的解决
2018/06/30 NodeJs
解决微信小程序防止无法回到主页的问题
2018/09/28 Javascript
原生js实现随机点名功能
2019/11/05 Javascript
编写Python CGI脚本的教程
2015/06/29 Python
Python随机数random模块使用指南
2016/09/09 Python
pyqt5利用pyqtDesigner实现登录界面
2019/03/28 Python
聊聊python里如何用Borg pattern实现的单例模式
2019/06/06 Python
Django contrib auth authenticate函数源码解析
2020/11/12 Python
HTML里显示pdf、word、xls、ppt的方法示例
2020/04/14 HTML / CSS
澳大利亚和新西兰最大的在线旅行社之一:Aunt Betty
2019/08/07 全球购物
自考生毕业自我鉴定
2013/10/10 职场文书
大学三年的自我评价
2013/12/25 职场文书
土建资料员岗位职责
2014/01/04 职场文书
医学生自我鉴定范文
2014/03/26 职场文书
槐乡的孩子教学反思
2014/04/27 职场文书
校庆团日活动总结
2014/08/28 职场文书
2014年收银工作总结
2014/11/13 职场文书
优秀班主任申报材料
2014/12/16 职场文书
解析Java中的static关键字
2021/06/14 Java/Android
Mysql存储过程、触发器、事件调度器使用入门指南
2022/01/22 MySQL
python数字图像处理实现图像的形变与缩放
2022/06/28 Python