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 相关文章推荐
Node.js实战 建立简单的Web服务器
Mar 08 Javascript
javascript中全局对象的isNaN()方法使用介绍
Dec 19 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
Dec 08 Javascript
js实现的tab标签切换效果代码分享
Aug 25 Javascript
jquery实现LED广告牌旋转系统图片切换效果代码分享
Aug 26 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
Apr 28 Javascript
浅谈JQuery+ajax+jsonp 跨域访问
Jun 25 Javascript
总结Javascript中的隐式类型转换
Aug 24 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
Nov 21 Javascript
JS 实现可停顿的垂直滚动实例代码
Nov 23 Javascript
基于JavaScript实现前端数据多条件筛选功能
Aug 19 Javascript
JS实现简单日历特效
Jan 03 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设计模式 State (状态模式)
2011/06/26 PHP
在wamp集成环境下升级php版本(实现方法)
2013/07/01 PHP
PHP APC缓存配置、使用详解
2014/03/06 PHP
PHP中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
PHP读取XML格式文件的方法总结
2017/02/27 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
2017/06/30 PHP
PHP实现用户登录的案例代码
2018/05/10 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
Jquery 常用方法经典总结
2010/01/28 Javascript
jQuery 源码分析笔记(4) Ready函数
2011/06/02 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
jquery利用命名空间移除绑定事件的方法
2015/03/11 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
2016/05/31 Javascript
js判断浏览器是否支持严格模式的方法
2016/10/04 Javascript
Angular-Ui-Router+ocLazyLoad动态加载脚本示例
2017/03/02 Javascript
jQuery插件zTree实现获取当前选中节点在同级节点中序号的方法
2017/03/08 Javascript
简单实现vue验证码60秒倒计时功能
2017/10/11 Javascript
总结js中的一些兼容性易错的问题
2017/12/18 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
2018/03/22 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
JS数组进阶示例【数组的几种函数用法】
2020/01/16 Javascript
基于Vue实现微前端的示例代码
2020/04/24 Javascript
[01:01:52]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第二场 1月9日
2021/03/11 DOTA
python使用pil生成缩略图的方法
2015/03/26 Python
Python打造出适合自己的定制化Eclipse IDE
2016/03/02 Python
浅谈python之自动化运维(Paramiko)
2020/01/31 Python
Python2.6版本pip安装步骤解析
2020/08/17 Python
HTML5 Canvas的事件处理介绍
2015/04/24 HTML / CSS
viagogo波兰票务平台:演唱会、体育比赛、戏剧门票
2018/04/23 全球购物
英国家喻户晓的家居商店:The Range
2019/03/25 全球购物
澳大利亚女装精品店:Alannah Hill
2020/07/29 全球购物
医学院学生的自我评价分享
2013/11/19 职场文书
高一学年自我鉴定范文(3篇)
2014/09/26 职场文书
销售经理工作检讨书
2015/02/19 职场文书
CSS3实现的3D隧道效果
2021/04/27 HTML / CSS