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实现轮显新闻标题链接
Aug 13 Javascript
通用javascript脚本函数库 方便开发
Oct 13 Javascript
JS刷新框架外页面七种实现代码
Feb 18 Javascript
JavaScript中的style.cssText使用教程
Nov 06 Javascript
javascript实现动态统计图开发实例
Nov 21 Javascript
js面向对象的写法
Feb 19 Javascript
基于Bootstrap+jQuery.validate实现表单验证
May 30 Javascript
JavaScript使用readAsDataUrl方法预览图片
May 10 Javascript
layui选项卡效果实现代码
May 19 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
Aug 28 Javascript
微信小程序之裁剪图片成圆形的实现代码
Oct 11 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
Nov 12 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
德生PL550的电路分析
2021/03/02 无线电
PHP数字格式化
2006/12/06 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
2020/04/26 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
jquery 获取表单元素里面的值示例代码
2013/07/28 Javascript
jQuery实现带渐显效果的人物多级关系图代码
2015/10/16 Javascript
关于jQuery.ajax()的jsonp碰上post详解
2017/07/02 jQuery
Angular.js中数组操作的方法教程
2017/07/31 Javascript
nodejs中art-template模板语法的引入及冲突解决方案
2017/11/07 NodeJs
不使用JavaScript实现菜单的打开和关闭效果demo
2018/05/01 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
React Hooks的深入理解与使用
2018/11/12 Javascript
layDate插件设置开始和结束时间
2018/11/15 Javascript
详解JavaScript 新语法之Class 的私有属性与私有方法
2019/04/23 Javascript
搭建一个nodejs脚手架的方法步骤
2019/06/28 NodeJs
[07:48]DOTA2上海特级锦标赛主赛事首日RECAP
2016/03/04 DOTA
python实现异步回调机制代码分享
2014/01/10 Python
Python复制文件操作实例详解
2015/11/10 Python
python生成验证码图片代码分享
2016/01/28 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
transform python环境快速配置方法
2018/09/27 Python
解决python字典对值(值为列表)赋值出现重复的问题
2019/01/20 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
Python3.5 Pandas模块之Series用法实例分析
2019/04/23 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
详解Python中namedtuple的使用
2020/04/27 Python
numpy的Fancy Indexing和array比较详解
2020/06/11 Python
浅析Python 序列化与反序列化
2020/08/05 Python
HTML5的文档结构和新增标签完全解析
2017/04/21 HTML / CSS
DIY蛋糕店的创业计划书范文
2013/12/26 职场文书
党风廉设责任书
2014/04/16 职场文书
七年级思品教学反思
2016/02/20 职场文书
Python读写yaml文件
2022/03/20 Python