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脚本类
Aug 27 Javascript
js 判断上传文件大小及格式代码
Nov 13 Javascript
jquery实现点击消失的代码
Mar 03 Javascript
JavaScript操作Cookie详解
Feb 28 Javascript
jquery实现简单实用的弹出层效果代码
Oct 15 Javascript
详解AngularJS中module模块的导入导出
Dec 10 Javascript
jQuery继承extend用法详解
Oct 10 Javascript
微信小程序 sha1 实现密码加密实例详解
Jul 06 Javascript
JS中实现隐藏部分姓名或者电话号码的代码
Jul 17 Javascript
微信小程序如何调用新闻接口实现列表循环
Jul 02 Javascript
基于JS实现快速读取TXT文件
Aug 25 Javascript
vue单元格多列合并的实现
Nov 26 Vue.js
详解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
欧美媒体选出10年前最流行的17部动画
2017/01/18 日漫
解析crontab php自动运行的方法
2013/06/24 PHP
memcache命令启动参数中文解释
2014/01/13 PHP
php表单习惯用的正则表达式
2017/10/11 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
浅谈PHP封装CURL
2019/03/06 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
2019/10/21 PHP
yepnope.js 异步加载资源文件
2011/09/08 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
jQuery实现的简单排序功能示例【冒泡排序】
2017/01/13 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
js 事件的传播机制(实例讲解)
2017/07/20 Javascript
浅谈React组件之性能优化
2018/03/02 Javascript
layui中的switch开关实现方法
2019/09/03 Javascript
Vue实现省市区三级联动
2020/12/27 Vue.js
[02:21]DOTA2英雄基础教程 蝙蝠骑士
2013/12/16 DOTA
python常见排序算法基础教程
2017/04/13 Python
python excel使用xlutils类库实现追加写功能的方法
2018/05/02 Python
基于Python中的yield表达式介绍
2019/11/19 Python
python plotly画柱状图代码实例
2019/12/13 Python
Python with语句用法原理详解
2020/07/03 Python
python re.match()用法相关示例
2021/01/27 Python
CSS3实现自定义Checkbox特效实例代码
2017/04/24 HTML / CSS
深入探究HTML5的History API
2015/07/09 HTML / CSS
用html5的canvas和JavaScript创建一个绘图程序的简单实例
2016/07/06 HTML / CSS
机械专业求职信
2014/05/25 职场文书
2014法制宣传日活动总结范文
2014/11/01 职场文书
群众路线教育实践活动调研报告
2014/11/03 职场文书
2014年职称评定工作总结
2014/11/26 职场文书
退休教师追悼词
2015/06/23 职场文书
《自己去吧》教学反思
2016/02/16 职场文书
话题作文之自信作文
2019/11/15 职场文书
Python 多线程处理任务实例
2021/11/07 Python
什么是css原子化,有什么用?
2022/04/24 HTML / CSS
zabbix如何添加监控主机和自定义监控项
2022/08/14 Servers