vuejs事件中心管理组件间的通信详解


Posted in Javascript onAugust 09, 2017

本文为大家分享了vuejs事件中心管理组件间的通信,供大家参考,具体内容如下

事件中心

这个可以是一个空的全局的Vue实例,其他的组件利用这个实例emit和on自定义事件,这样组件定义了自己的事件处理方法。

import Vue from 'Vue'
window.eventHub = new Vue();

事件监听和注销监听

事件监听应在更组件的created钩子函数中进行,在组件销毁前应注销事件监听

//hook 
 created: function () {
 //listen event
 window.eventHub.$on('switchComments',this.switchComments);
 window.eventHub.$on('removeIssue',this.removeIssue);
 window.eventHub.$on('saveComment',this.saveComment);
 window.eventHub.$on('removeComment',this.removeComment);

 //get init data
 var that =this;
 axios.get('issue/index')
 .then(function (resp) {
  that.issue_list=resp.data;
 });
 },
 beforeDestroy: function () {
 window.eventHub.$off('switchComments');
 window.eventHub.$off('removeIssue');
 window.eventHub.$off('saveComment');
 window.eventHub.$off('removeComment');
 }

子组件的emit事件,注意这里用的window.$emit而不是this.emit

methods: {
 removeComment: function(index,cindex) {
  window.eventHub.$emit('removeComment', {index:index, cindex:cindex});
 },
 saveComment: function(index) {
  window.eventHub.$emit('saveComment', {index: index, comment: this.comment});
  this.comment="";
 }
 },

Note: 这其实还不是最理想的通信方式,下一篇我们看看vuex怎么玩

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript操作文本框readOnly
May 15 Javascript
JS input 数字验证代码
Jul 30 Javascript
基于编写jQuery的无缝滚动插件
Aug 02 Javascript
javascript中Object使用详解
Jan 26 Javascript
node.js从数据库获取数据
May 08 Javascript
用jQuery实现优酷首页轮播图
Jan 09 Javascript
webpack构建的详细流程探底
Jan 08 Javascript
JavaScript实现的九种排序算法
Mar 04 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
Sep 24 Javascript
JavaScript事件冒泡机制原理实例解析
Jan 14 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
Feb 14 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
Feb 26 Javascript
JS实现的加减乘除四则运算计算器示例
Aug 09 #Javascript
AngularJS ionic手势事件的使用总结
Aug 09 #Javascript
Vue2.0实现将页面中表格数据导出excel的实例
Aug 09 #Javascript
webpack 1.x升级过程中的踩坑总结大全
Aug 09 #Javascript
微信小程序开发教程之增加mixin扩展
Aug 09 #Javascript
javascript编程开发中取色器及封装$函数用法示例
Aug 09 #Javascript
vuejs父子组件之间数据交互详解
Aug 09 #Javascript
You might like
php比较多维数组中值的大小排序实现代码
2012/09/08 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
2013/01/11 PHP
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
微信 getAccessToken方法详解及实例
2016/11/23 PHP
thinkphp中U方法按路由规则生成url的方法
2018/03/12 PHP
PHP测试框架PHPUnit组织测试操作示例
2018/05/28 PHP
php+iframe 实现上传文件功能示例
2020/03/04 PHP
php实现微信和支付宝支付的示例代码
2020/08/11 PHP
类似GMAIL的Ajax信息反馈显示
2010/02/16 Javascript
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
js中使用replace方法完成某个字符的转换
2014/08/20 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
2014/10/19 Javascript
JS实现点击上移下移LI行数据的方法
2015/08/05 Javascript
jQuery左右滚动支持图片放大缩略图图片轮播代码分享
2015/08/26 Javascript
jQuery中的ready函数与window.onload谁先执行
2016/06/21 Javascript
html判断当前页面是否在iframe中的实例
2016/11/30 Javascript
vue2.0构建单页应用最佳实战
2017/04/01 Javascript
JavaScript制作简单的框选图表
2017/05/15 Javascript
使用ngrok+express解决本地环境中微信接口调试问题
2018/02/26 Javascript
Vue2.0中集成UEditor富文本编辑器的方法
2018/03/03 Javascript
详解Vue.js中引入图片路径的几种方式
2019/06/17 Javascript
python通过yield实现数组全排列的方法
2015/03/18 Python
详解python OpenCV学习笔记之直方图均衡化
2018/02/08 Python
Python高级特性切片(Slice)操作详解
2018/09/27 Python
Python测试Kafka集群(pykafka)实例
2019/12/23 Python
Python网络爬虫信息提取mooc代码实例
2020/03/06 Python
python中get和post有什么区别
2020/06/19 Python
蔻驰美国官网:COACH美国
2016/08/18 全球购物
全球知名鞋履品牌授权零售商:Journeys
2016/09/17 全球购物
拓展培训心得体会
2014/01/04 职场文书
优秀经理获奖感言
2014/03/04 职场文书
政治表现评语
2014/05/04 职场文书
银行催款通知书
2015/04/17 职场文书
信仰观后感
2015/06/03 职场文书
2015年国庆节新闻稿
2015/07/18 职场文书
详解Java分布式事务的 6 种解决方案
2021/06/26 Java/Android