很长一段时间在vue开发项目中组件间通信都是通过vuex实现的,有时候开发一个小项目也要用到插入笨重的vuex来实现组件间交互,有没有一个好的插件可以替代vuex,emmmm~,当然有了!今天给大家介绍一下PubSubJS,PubSubJS是什么?可以实现什么功能?看下面的例子实现关闭弹窗model1

主页面index.vue代码如下

export default { data() {return {box: {model1:false}}
},
created() {
//订阅关闭弹窗事件PubSub.subscribe("modelClose", (event, data) => {this.close(data.modal);console.log(data.mess) //打印"关闭弹窗"});
},methods: {close(model) {this.box[model] = false}}
}

model1.vue组件

export default{
data(){
return{}
},
methods:{close(){//发布关闭弹窗事件PubSub.publish("modelClose", {model:"model1",mess:"关闭弹窗"});}
}
}

上面简单的代码就实现了子组件和父组件通信功能,你可能很不屑得说,vue自带的on和emit不就可以实现这个功能干嘛搞这么麻烦,对的,on和emit的确也可以实现了子组件和父组件通信,但是如果是非父子组件通信呢,用on和emit实现是不是就显得很繁琐了,另外PubSubJS不依赖于任何库和不限于任一框架

不管是父子之间还是非父子之间通信PubSubJS都可以实现,但是必须先执行订阅事件subscribe然后才能publish发布事件

源码地址:https://github.com/mroderick/PubSubJS

vue组件通信你还在用笨重的vuex吗相关推荐

  1. vue 组件通信的几种方式

    前言 在vue中,​ 组件的关系不外乎以下三种: 组件是需要通信的,在开发中,常用到的通信方式有:vuex.eventBus.以及props与emit.$parent与$children,除此之外,还 ...

  2. vue组件通信案例练习(包含:父子组件通信及平行组件通信)

    文章目录 一.案例概述 二.代码 准备工作: 案例1.1:父组件向子组件传值(或者叫:子组件使用父组件属性),采用v-bind方式实现 案例1.2:子组件向父组件传值(或者叫:子组件调用父组件方法), ...

  3. vue组件通信的几种方法

    vue中我们最常使用的就是父子之间的通信还有全局数据管理vuex了,下面粗略说一下vue组件通信的几种方法 组件通信的几种方式 1.父子组件通信 2.兄弟组件通信 3.跨多层级组件通信 4.任意组件( ...

  4. vue组件通信(传值)

    vue组件通信有以下几种方式可以实现(个人总结) 一.父组件到子组件传值方式: 一般通过在父组件中给子组件绑定属性的方式进行传值,子组件通过props来接收. 实例: //父组件 <templa ...

  5. 【Vue】Vue全家桶(三)Vue组件通信+Vue组件插槽+动画与过渡+使用vue-cli解决Ajax跨域问题

    1 Vue组件通信 1.1 组件间通信基本原则 不要在子组件中直接修改父组件的状态数据 数据在哪, 更新数据的行为(函数)就应该定义在哪 1.2 vue 组件间通信方式 props vue 的自定义事 ...

  6. Vue组件通信的五种方式

    Vue组件通信的五种方式 文章目录 Vue组件通信的五种方式 一. props/$emit(父子通信) 二. vuex(组件之间通信) 三. 事件总线EventBus(组件之间通信) 四. provi ...

  7. vue组件通信的几种方式

    vue组件通信的几种方式 最近用vue开发项目,记录一下vue组件间通信几种方式 第一种,父子组件通信 一.父组件向子组件传值 1.创建子组件,在src/components/文件夹下新建一个Chil ...

  8. Vue 组件通信之 Bus

    关于组件通信我相信小伙伴们肯定也都很熟悉,就不多说了,对组件通信还不熟悉的小伙伴移步这里. 在vue2.0中 $dispatch 和 $broadcast 已经被弃用.官方文档中给出的解释是: 因为基 ...

  9. vue组件通信v兄弟组件通信eventbus遇到的问题(多次触发、第一次不触发)

    组件通讯包括:父子组件间的通信和兄弟组件间的通信.在组件化系统构建中,组件间通信必不可少的 (vuex以后再说). 父组件--> 子组件 1. 属性设置 父组件关键代码如下: 1 <tem ...

最新文章

  1. Data Protection Manager 2010 系列之安装部署
  2. matlab均值量化函数_在matlab中理解抽样量化的概念:均匀量化的实现
  3. OpenCV进口重建Import Reconstruction
  4. 贷款时,如何评估借款人的还款意愿
  5. 数字图像处理技术详解程序_大学专业详解系列135——数字媒体技术(工学学士)...
  6. Randomize select algorithm 随机选择算法
  7. (uC/OS-II学习笔记) 消息邮箱消息队列
  8. C++ enum类型的一个更好的用法
  9. 看朋友日志发现的一个ios下block相关的内存管理问题,非常奇怪,请大家帮忙一起来回答!...
  10. (转)机器学习算法比较
  11. 推荐几个非常不错的富文本编辑器
  12. 项目经理等级划分,看看你在哪一级?
  13. A40i使用笔记:交叉编译*.c文件(可在开发板运行)
  14. 我的MP3收藏精选,推荐一些最近我常听的歌
  15. android计算器开发
  16. form6i支持 oracle 11g,使用Form6i保存文件到Oracle中的Blob字段
  17. Navicat连接mysql报错is not allowed to connect to this MySQL
  18. 哔哩哔哩bilibili 直播间全屏发弹幕
  19. python怎么加载图片png图片位置_Python添加png图片出现的问题和解决
  20. 商业智慧——三国职场人

热门文章

  1. HTML5 Canvas 详解
  2. A Pulmonary Nodule Detection Model Based on Progressive Resolution and Hierarchical Saliency
  3. 全国计算机理论知识,全国计算机等级考试理论知识(冲刺练习)
  4. 计算机多媒体对语文教学的提高,计算机多媒体技术在语文教学的应用
  5. appium自动化之手势操作总结(附带手势解锁)
  6. 如何学习VB最新总结
  7. OpenCv-C++-亚像素级别角点检测(检测子像素中的corner的位置)
  8. flex-direction容器属性
  9. 段码液晶屏的图纸尺寸应该怎么来设计(5)
  10. 如何在 PHP 8.1 中使用枚举