vuejs事件中心管理组件间的通信详解

发布时间 - 2026-01-11 02:42:41    点击率:

本文为大家分享了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怎么玩

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# vuejs管理组件  # vuejs事件中心  # vuejs事件中心管理组件  # vuejs父子组件通信的问题  # Vuejs第十篇之vuejs父子组件通信  # Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信  # Vue.js每天必学之组件与组件间的通信  # 深入探讨Vue.js组件和组件通信  # Vue.js子组件向父组件通信的方法实例代码详解  # Vue.js 父子组件通信的十种方式  # Vue.js组件通信的几种姿势  # vue.js父子组件通信动态绑定的实例  # Vue.js组件间通信方式总结【推荐】  # vuejs中父子组件之间通信方法实例详解  # 自己的  # 是一个  # 其他的  # 自定义  # 应在  # 下一篇  # 大家分享  # 具体内容  # 大家多多  # 前应  # 而不是  # class  # brush  # pre  # methods  # window  # eventHub  # js  # import  # vuex 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  使用spring连接及操作mongodb3.0实例  Internet Explorer官网直接进入 IE浏览器在线体验版网址  Linux后台任务运行方法_nohup与&使用技巧【技巧】  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  微信小程序 五星评分(包括半颗星评分)实例代码  音响网站制作视频教程,隆霸音响官方网站?  iOS正则表达式验证手机号、邮箱、身份证号等  如何实现建站之星域名转发设置?  Firefox Developer Edition开发者版本入口  如何在云虚拟主机上快速搭建个人网站?  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  javascript中对象的定义、使用以及对象和原型链操作小结  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  HTML 中动态设置元素 name 属性的正确语法详解  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  Android自定义listview布局实现上拉加载下拉刷新功能  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  如何在IIS中新建站点并解决端口绑定冲突?  如何快速生成凡客建站的专业级图册?  免费视频制作网站,更新又快又好的免费电影网站?  如何用PHP工具快速搭建高效网站?  如何在搬瓦工VPS快速搭建网站?  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  如何在景安云服务器上绑定域名并配置虚拟主机?  高端网站建设与定制开发一站式解决方案 中企动力  黑客入侵网站服务器的常见手法有哪些?  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  如何在建站之星绑定自定义域名?  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  Laravel如何与Pusher实现实时通信?(WebSocket示例)  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  如何快速查询网站的真实建站时间?  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  大学网站设计制作软件有哪些,如何将网站制作成自己app?  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  Laravel如何自定义错误页面(404, 500)?(代码示例)  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  轻松掌握MySQL函数中的last_insert_id()  打造顶配客厅影院,这份100寸电视推荐名单请查收  EditPlus中的正则表达式实战(5)  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  怎样使用JSON进行数据交换_它有什么限制  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  高端建站三要素:定制模板、企业官网与响应式设计优化  湖南网站制作公司,湖南上善若水科技有限公司做什么的?