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 相关文章推荐
简单通用的JS滑动门代码
Dec 19 Javascript
javascript中input中readonly和disabled区别介绍
Oct 23 Javascript
JavaScript简介
Feb 15 Javascript
jQuery插件slick实现响应式移动端幻灯片图片切换特效
Apr 12 Javascript
js行号显示的文本框实现效果(兼容多种浏览器 )
Oct 23 Javascript
JS onkeypress兼容性写法详解
Apr 27 Javascript
jQuery通过ajax快速批量提交表单数据
Oct 25 Javascript
jQuery Validate 校验多个相同name的方法
May 18 jQuery
详解vue组件通信的三种方式
Jun 30 Javascript
webpack构建的详细流程探底
Jan 08 Javascript
js Math数学简单使用操作示例
Mar 13 Javascript
vue路由分文件拆分管理详解
Aug 13 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 IPV6正则表达式验证代码
2010/02/16 PHP
php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
2012/03/27 PHP
深入解析PHP底层机制及相关原理
2020/12/11 PHP
JavaScript 字符串乘法
2009/08/20 Javascript
显示js对象所有属性和方法的函数
2009/10/16 Javascript
web页面数据展示新想法(json)
2010/06/08 Javascript
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
鼠标滑在标题上显示图片的JS代码
2013/11/19 Javascript
IE的事件传递-event.cancelBubble示例介绍
2014/01/12 Javascript
取得元素的左和上偏移量的方法
2014/09/17 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
2014/11/02 Javascript
js完美解决IE6不支持position:fixed的bug
2015/04/24 Javascript
js实现的下拉框二级联动效果
2016/04/30 Javascript
js 作用域和变量详解
2017/02/16 Javascript
详解VueRouter进阶之导航钩子和路由元信息
2017/09/13 Javascript
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
2018/12/11 jQuery
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛 DT VS HGT
2014/05/22 DOTA
Python获取邮件地址的方法
2015/07/10 Python
Python用户推荐系统曼哈顿算法实现完整代码
2017/12/01 Python
django连接mysql配置方法总结(推荐)
2018/08/18 Python
详解关于Django中ORM数据库迁移的配置
2018/10/08 Python
Python魔法方法详解
2019/02/13 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
Python 解码Base64 得到码流格式文本实例
2020/01/09 Python
理解Django 中Call Stack机制的小Demo
2020/09/01 Python
澳大利亚拥有最好的家具和家居用品在线目的地:Nestz
2019/02/23 全球购物
什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
2012/05/23 面试题
写好自荐信要注意的问题
2013/11/10 职场文书
小学生作文评语大全
2014/04/21 职场文书
于丹论语心得观后感
2015/06/15 职场文书
小学体育课教学反思
2016/02/16 职场文书
MySQL系列之十一 日志记录
2021/07/02 MySQL