话不多说,直接上干货
你只是想简单的要一个事件的发布订阅来通知下兄弟组件执行个方法?
你是否还在为引入一个eventbus后,每次还要手动调用卸载(off)而头疼?
你是否还在为要去想各种bus的【pub、sub】、【$on、$emit】、【fire、listen】balabala一系列的方法名字而头疼?
如果上面是你的痛点,那么今日你开始你用Vue幸福的日子来了:
通过最小的代价,让你的Vue支持全局事件,用了它,你仅需要在需要做全局通知的时候,加入global:
前缀即可完成全局事件发布,简单吗?
this.$emit('global:你的事件名字');
有发布,那么监听呢?
this.$on('global:你的事件名字', () => {});
怎么样?是不是除了在事件名字前面加了global:
其他都没变化,如果你还不了解Vue这部分内容,我帮你准备好了,官方文档。
$ npm install --save vue-event-proxy
在你项目的主入口(vue-cli生成的main.js)中加入:
import EventProxy from 'vue-event-proxy'; Vue.use(EventProxy);
接下来,尽情的使用吧。