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 26 Javascript
JavaScript 监听textarea中按键事件
Oct 08 Javascript
Javascript 二维数组
Nov 26 Javascript
用jquery等比例控制图片宽高的具体实现
Jan 28 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
May 11 Javascript
javascript实现回车键提交表单方法总结
Jan 10 Javascript
JS结合bootstrap实现基本的增删改查功能
Jul 22 Javascript
AngularJS 实现JavaScript 动画效果详解
Sep 08 Javascript
jQuery弹出div层过2秒自动消失
Nov 29 Javascript
浅谈sass在vue注意的地方
Aug 10 Javascript
Javascript实现秒表倒计时功能
Nov 17 Javascript
微信小程序事件 bindtap bindinput代码实例
Aug 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进行MySQL删除记录操作代码
2008/06/07 PHP
文本加密解密
2006/06/23 Javascript
利用XMLHTTP传递参数在另一页面执行并刷新本页
2006/10/26 Javascript
textContent在Firefox下与innerText等效的属性
2007/05/12 Javascript
javascript 动态加载 css 方法总结
2009/07/11 Javascript
js 创建书签小工具之理论
2011/02/25 Javascript
浅谈关于JavaScript的语言特性分析
2013/04/11 Javascript
jQuery中appendTo()方法用法实例
2015/01/08 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
jquery转盘抽奖功能实现
2015/11/13 Javascript
jQuery中使用animate自定义动画的方法
2016/05/29 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
2017/12/15 Javascript
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
微信小程序ibeacon三点定位详解
2018/10/31 Javascript
基于Vue-cli快速搭建项目的完整步骤
2018/11/03 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
JavaScript实现简单计算器
2020/03/19 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
[07:27]DOTA2卡尔工作室 英雄介绍水晶室女篇
2013/06/21 DOTA
Python中装饰器的一个妙用
2015/02/08 Python
Python3字符串学习教程
2015/08/20 Python
Python自定义一个类实现字典dict功能的方法
2019/01/19 Python
python3转换code128条形码的方法
2019/04/17 Python
Tensorflow 卷积的梯度反向传播过程
2020/02/10 Python
Django高并发负载均衡实现原理详解
2020/04/04 Python
基于python+selenium自动健康打卡的实现代码
2021/01/13 Python
使用Python爬虫爬取小红书完完整整的全过程
2021/01/19 Python
悬挂训练绳:TRX
2017/12/14 全球购物
Antonioli美国在线商店:时尚前卫奢华
2019/07/29 全球购物
ASICS印度官方网站:日本专业运动品牌
2020/06/20 全球购物
英语专业毕业生自我鉴定
2013/11/09 职场文书
擅自离岗检讨书
2014/02/11 职场文书
学生党员公开承诺书
2014/05/28 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
Python matplotlib绘制雷达图
2022/04/13 Python
Python之matplotlib绘制饼图
2022/04/13 Python