Vue中eventbus很头疼?我来帮你

话很少说,直接上干货vue

现存痛点

  • 你只是想简单的要一个事件的发布订阅来通知下兄弟组件执行个方法?
  • 你是否还在为引入一个eventbus后,每次还要手动调用卸载(off)而头疼?
  • 你是否还在为要去想各类bus的【pub、sub】、【$on、$emit】、【fire、listen】balabala一系列的方法名字而头疼?

若是上面是你的痛点,那么今日你开始你用Vue幸福的日子来了:git

vue-event-proxy

经过最小的代价,让你的Vue支持全局事件,用了它,你仅须要在须要作全局通知的时候,加入 global:前缀便可完成全局事件发布,简单吗?github

this.$emit('global:你的事件名字');
复制代码

有发布,那么监听呢?vue-cli

this.$on('global:你的事件名字', () => {});
复制代码

怎么样?是否是除了在事件名字前面加了global:其余都没变化,若是你还不了解Vue这部份内容,我帮你准备好了,官方文档npm

使用方法

$ npm install --save vue-event-proxy
复制代码

在你项目的主入口(vue-cli生成的main.js)中加入:api

import EventProxy from 'vue-event-proxy';
  Vue.use(EventProxy);
复制代码

接下来,尽情的使用吧。bash

若是对此实现感兴趣,源码地址奉上。this