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 相关文章推荐
限制文本框输入N个字符的js代码
May 13 Javascript
javascript操作html控件实例(javascript添加html)
Dec 02 Javascript
Javascript 实现复制(Copy)动作方法大全
Jun 20 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
Mar 01 Javascript
AngularJS使用指令增强标准表单元素功能
Jul 01 Javascript
AngularJs directive详解及示例代码
Sep 01 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
Sep 12 Javascript
JS实现带导航城市列表以及输入搜索功能
Jan 04 Javascript
Vue单页面应用保证F5强刷不清空数据的解决方案
Jan 31 Javascript
JavaScript轮播停留效果的实现思路
May 24 Javascript
实例详解Node.js 函数
Jun 10 Javascript
JavaScript实现点击自制菜单效果
Feb 02 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
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
PHP中->和=>的含义及使用示例解析
2020/08/06 PHP
javascript JSON操作入门实例
2010/04/16 Javascript
jquery 弹出层注册页面等(asp.net后台)
2010/06/17 Javascript
js操作textarea 常用方法总结
2012/12/03 Javascript
jquery实现上下左右滑动的方法
2015/02/09 Javascript
jQuery表单域属性过滤器用法分析
2015/02/10 Javascript
Javascript中arguments对象的详解与使用方法
2016/10/04 Javascript
js仿小米手机上下滑动效果
2017/02/05 Javascript
Bootstrap面板(Panels)的简单实现代码
2017/03/17 Javascript
angular4自定义组件详解
2017/09/28 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
2019/04/10 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
[56:12]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第一场 6.3
2018/06/04 DOTA
[01:02:32]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第二场 2月26日
2021/03/11 DOTA
Python3中的真除和Floor除法用法分析
2016/03/16 Python
Python注释详解
2016/06/01 Python
运用Python的webbrowser实现定时打开特定网页
2019/02/21 Python
决策树剪枝算法的python实现方法详解
2019/09/18 Python
Python爬取YY评级分数并保存数据实现过程解析
2020/06/01 Python
实列教程 一款基于jquery和css3的响应式二级导航菜单
2014/11/13 HTML / CSS
Sony C++笔试题
2013/03/10 面试题
浅谈react路由传参的几种方式
2021/03/23 Javascript
国窖1573广告词
2014/03/21 职场文书
调研汇报材料范文
2014/08/17 职场文书
查摆剖析材料范文
2014/09/30 职场文书
2014年老干部工作总结
2014/11/21 职场文书
2014年世界艾滋病日演讲稿
2014/11/28 职场文书
会计求职简历自我评价
2015/03/10 职场文书
监护人证明
2015/06/19 职场文书
优秀员工演讲稿
2019/06/21 职场文书
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers
CSS的calc函数用法小结
2022/06/25 HTML / CSS