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学习笔记之jQuery的DOM操作
Dec 22 Javascript
javascript继承之为什么要继承
Nov 10 Javascript
Eclipse下jQuery文件报错出现错误提示红叉
Jan 13 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
Mar 02 Javascript
简单分析javascript面向对象与原型
May 21 Javascript
快速掌握Node.js事件驱动模型
Mar 21 Javascript
JavaScript的Vue.js库入门学习教程
May 23 Javascript
Centos7 中 Node.js安装简单方法
Nov 02 Javascript
node.js操作mysql简单实例
May 25 Javascript
使用node搭建自动发图文微博机器人的方法
Mar 22 Javascript
在Vue.js中使用TypeScript的方法
Mar 19 Javascript
vue-router的hooks用法详解
Jun 08 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
非洲第一个咖啡超凡杯大赛承办国—卢旺达的咖啡怎么样
2021/03/03 咖啡文化
IStream与TStream之间的相互转换
2008/08/01 PHP
9条PHP编程小知识及易犯的小错误
2015/01/22 PHP
php结合ACCESS的跨库查询功能
2015/06/12 PHP
yii分页组件用法实例分析
2015/12/28 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
jQuery 解析xml文件
2009/08/09 Javascript
Javascript变量作用域详解
2013/12/06 Javascript
javaScript给元素添加多个class的简单实现
2016/07/20 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
BootStrap自定义popover,点击区域隐藏功能的实现
2018/01/23 Javascript
Vue 去除路径中的#号
2018/04/19 Javascript
webpack项目轻松混用css module的方法
2018/06/12 Javascript
js new Date()实例测试
2019/10/31 Javascript
python3使用urllib示例取googletranslate(谷歌翻译)
2014/01/23 Python
Python编程之字符串模板(Template)用法实例分析
2017/07/22 Python
Python numpy 常用函数总结
2017/12/07 Python
python实现机器人行走效果
2018/01/29 Python
python使用pycharm环境调用opencv库
2018/02/11 Python
python字符串string的内置方法实例详解
2018/05/14 Python
Python OpenCV实现视频分帧
2019/06/01 Python
python使用itchat模块给心爱的人每天发天气预报
2019/11/25 Python
如何解决pycharm调试报错的问题
2020/08/06 Python
Pycharm配置autopep8实现流程解析
2020/11/28 Python
python字典与json转换的方法总结
2020/12/28 Python
CSS3 绘制BMW logo实的现代码
2013/04/25 HTML / CSS
CSS3实现内凹圆角的实例代码
2017/05/04 HTML / CSS
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
2018/09/19 HTML / CSS
班组长安全生产职责
2013/12/16 职场文书
银行职员个人的工作自我评价
2014/02/15 职场文书
年终总结会议主持词
2014/03/17 职场文书
物业品质提升方案
2014/06/08 职场文书
运动会演讲稿200字
2014/08/25 职场文书
伏羲庙导游词
2015/02/09 职场文书