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 有用的脚本函数
May 07 Javascript
Jquery 点击按钮显示和隐藏层的代码
Jul 25 Javascript
JS正则中的RegExp对象对象
Nov 07 Javascript
Knockoutjs快速入门(经典)
Dec 24 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
Dec 04 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
Jan 26 Javascript
各种选择框jQuery的选中方法(实例讲解)
Jun 27 jQuery
JS实现将二维数组转为json格式字符串操作示例
Jul 12 Javascript
Vue中的验证登录状态的实现方法
Mar 09 Javascript
jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
Jun 04 jQuery
JavaScript实现单图片上传并预览功能
Sep 30 Javascript
vue3.0 的 Composition API 的使用示例
Oct 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一些服务器端特性的配置加强php的安全
2006/10/09 PHP
一个简单计数器的源代码
2006/10/09 PHP
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
linux下编译安装memcached服务
2014/08/03 PHP
php对文件进行hash运算的方法
2015/04/03 PHP
PHP中overload与override的区别
2017/02/13 PHP
js图片自动切换效果处理代码
2013/05/07 Javascript
js中return false(阻止)的用法
2013/08/14 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
2014/04/11 Javascript
javascript实现带下拉子菜单的导航菜单效果
2015/05/14 Javascript
JQuery validate插件验证用户注册信息
2016/05/11 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
基于vue2.0+vuex的日期选择组件功能实现
2017/03/13 Javascript
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
setTimeout与setInterval的区别浅析
2019/03/23 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
2020/09/01 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
2020/10/24 Javascript
[45:44]完美世界DOTA2联赛PWL S2 FTD vs PXG 第一场 11.27
2020/12/01 DOTA
Python3.X 线程中信号量的使用方法示例
2017/07/24 Python
selenium python浏览器多窗口处理代码示例
2018/01/15 Python
python 对象和json互相转换方法
2018/03/22 Python
对Python 简单串口收发GUI界面的实例详解
2019/06/12 Python
Python基于OpenCV实现人脸检测并保存
2019/07/23 Python
PyQt+socket实现远程操作服务器的方法示例
2019/08/22 Python
postman传递当前时间戳实例详解
2019/09/14 Python
详解Python3定时器任务代码
2019/09/23 Python
python自动分箱,计算woe,iv的实例代码
2019/11/22 Python
记录一下scrapy中settings的一些配置小结
2020/09/28 Python
html5指南-5.使用web storage存储键值对的数据
2013/01/07 HTML / CSS
Carolina工作鞋官网:Carolina Footwear
2019/03/14 全球购物
俄罗斯外国汽车和国产汽车配件网上商店:Движком
2020/04/19 全球购物
工作时间上网检讨书
2014/02/03 职场文书
小学六一儿童节活动方案
2014/08/27 职场文书
实习证明模板
2015/06/16 职场文书
如何制作自己的原生JavaScript路由
2021/05/05 Javascript
Docker官方工具docker-registry案例演示
2022/04/13 Servers