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 相关文章推荐
详解强大的jQuery选择器之基本选择器、层次选择器
Feb 07 Javascript
基于JQuery 选择器使用说明介绍
Apr 18 Javascript
JavaScript中的console.group()函数详细介绍
Dec 29 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
Apr 03 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
Apr 16 Javascript
JS实现适合于后台使用的动画折叠菜单效果
Sep 21 Javascript
jQuery实现的网页换肤效果示例
Sep 20 Javascript
vue的props实现子组件随父组件一起变化
Oct 27 Javascript
js微信支付实现代码
Dec 22 Javascript
js实现漫天星星效果
Jan 19 Javascript
JS随机排序数组实现方法分析
Oct 11 Javascript
vxe-table vue table 表格组件功能
May 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中使用XML
2006/10/09 PHP
php截取utf-8中文字符串乱码的解决方法
2010/03/29 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
2016/10/20 PHP
驱动事件的addEvent.js代码
2007/03/27 Javascript
教你如何解密js/vbs/vbscript加密的编码异处理小结
2008/06/25 Javascript
初学Javascript的一些总结
2008/11/03 Javascript
javascript 数据类型转换(parseInt,parseFloat)
2010/07/20 Javascript
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
JS通过相同的name进行表格求和代码
2013/08/18 Javascript
兼容Firefox的Javascript XSLT 处理XML文件
2014/12/31 Javascript
需灵活掌握的Bootstrap预定义排版类 你精通吗?
2016/06/20 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
2016/07/01 Javascript
Bootstrap缩略图的创建方法
2017/03/22 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
详解Webpack实战之构建 Electron 应用
2017/12/25 Javascript
p5.js入门教程之键盘交互
2018/03/19 Javascript
js前端对于大量数据的展示方式及处理方法
2020/12/02 Javascript
Python中关键字nonlocal和global的声明与解析
2017/03/12 Python
python生成圆形图片的方法
2020/03/25 Python
TensorFlow实现AutoEncoder自编码器
2018/03/09 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
2018/05/26 Python
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
Python 离线工作环境搭建的方法步骤
2019/07/29 Python
django日志默认打印request请求信息的方法示例
2020/05/17 Python
浅谈HTML5新增及移除的元素
2016/06/27 HTML / CSS
工商学院毕业生个人自我评价
2013/09/19 职场文书
八年级数学教学反思
2014/01/31 职场文书
学生检讨书怎么写?
2014/10/10 职场文书
百万英镑观后感
2015/06/09 职场文书
信用卡工资证明范本
2015/06/19 职场文书
追讨欠款律师函
2015/06/24 职场文书
入队仪式主持词
2015/07/04 职场文书
2016护理专业求职自荐书
2016/01/28 职场文书
如何更改Win11声音输出设备?Win11声音输出设备四种更改方法
2022/04/08 数码科技