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脚本性能优化注意事项
Nov 18 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
Mar 20 Javascript
javascript写的一个模拟阅读小说的程序
Apr 04 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
Oct 08 Javascript
微信小程序 实现tabs选项卡效果实例代码
Oct 31 Javascript
js自定义QQ菜单效果
Jan 10 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
Apr 27 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
Jun 05 Javascript
Vue.js组件通信的几种姿势
Oct 23 Javascript
微信小程序实现简单跑马灯效果
May 26 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
Jul 31 Javascript
Vue.js标签页组件使用方法详解
Oct 19 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将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
php中取得文件的后缀名?
2012/02/20 PHP
PHP字符串的递增和递减示例介绍
2014/02/11 PHP
PHP计算近1年的所有月份
2017/03/13 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
JQuery Tab选项卡效果代码改进版
2010/04/01 Javascript
js对象继承之原型链继承实例
2015/01/10 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
angularjs客户端实现压缩图片文件并上传实例
2015/07/06 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
2015/08/31 Javascript
浅谈Javascript事件对象
2017/02/05 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
vue addRoutes实现动态权限路由菜单的示例
2018/05/15 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
Nodejs Express 通过log4js写日志到Logstash(ELK)
2018/08/30 NodeJs
对Vue.js之事件的绑定(v-on: 或者 @ )详解
2018/09/15 Javascript
python实现倒计时的示例
2014/02/14 Python
python base64 decode incorrect padding错误解决方法
2015/01/08 Python
python使用tensorflow保存、加载和使用模型的方法
2018/01/31 Python
matplotlib 纵坐标轴显示数据值的实例
2018/05/25 Python
Python日期时间对象转换为字符串的实例
2018/06/22 Python
Python 保存矩阵为Excel的实现方法
2019/01/28 Python
Python动态语言与鸭子类型详解
2019/07/01 Python
解析python的局部变量和全局变量
2019/08/15 Python
利用Python脚本实现自动刷网课
2020/02/03 Python
Python读取JSON数据操作实例解析
2020/05/18 Python
Python 绘制可视化折线图
2020/07/22 Python
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
struct与class的区别
2014/02/03 面试题
高中生学习生活的自我评价
2013/10/09 职场文书
离婚协议书怎么写
2014/09/12 职场文书
个人简历自我评价怎么写
2015/03/10 职场文书
2016七夕情人节寄语
2015/12/04 职场文书
导游词之广州陈家祠
2019/10/21 职场文书
《卧薪尝胆》读后感3篇
2019/12/26 职场文书
如何在Python中创建二叉树
2021/03/30 Python