A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始



Vue 中解决 eventbus 的方案

现存痛点
  • 你只是想简单的要一个事件的发布订阅来通知下兄弟组件执行个方法?
  • 你是否还在为引入一个eventbus后,每次还要手动调用卸载(off)而头疼?
  • 你是否还在为要去想各种bus的【pub、sub】、【$on、$emit】、【fire、listen】balabala一系列的方法名字而头疼?
如果上面是你的痛点,那么今日你开始你用Vue幸福的日子来了:

vue-event-proxy
通过最小的代价,让你的Vue支持全局事件,用了它,你仅需要在需要做全局通知的时候,加入 global:前缀即可完成全局事件发布,简单吗?
[JavaScript] 纯文本查看 复制代码
this.$emit('global:你的事件名字');

有发布,那么监听呢?
[JavaScript] 纯文本查看 复制代码
this.$on('global:你的事件名字', () => {});

怎么样?是不是除了在事件名字前面加了global:其他都没变化,如果你还不了解Vue这部分内容,我帮你准备好了,官方文档
使用方法
[JavaScript] 纯文本查看 复制代码
$ npm install --save vue-event-proxy

在你项目的主入口(vue-cli生成的main.js)中加入:
[JavaScript] 纯文本查看 复制代码
  import EventProxy from 'vue-event-proxy';
  Vue.use(EventProxy);

接下来,就OK了。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马