vue-oldstyle-events
v1.1.0
Published
Use old-style (Vue 1.0) event dispatch in Vue 2
Downloads
6
Maintainers
Readme
vue-oldstyle-events
The biggest blocker to upgrading to Vue 2 is the fact that Vue 2 does not support
Vue 1.0's $broadcast
and$dispatch
methods, and Vue 2 doesn't come with a drop-in
replacement for them. This package is that replacement.
It is important to remember that there is a good reason that Vue 2 dropped these methods. To quote the upgrade guide:
The problem is event flows that depend on a component's tree structure can be hard to reason about and very brittle when the tree becomes large. It simply doesn't scale well and we don't want to set you up for pain later. $dispatch and $broadcast also do not solve communication between sibling components.
All this is true. But that doesn't solve the problem of legacy codebases which already have a serious amount of functionality implemented this way. It's a shame for this one thing to block you from upgrading to the newest version of Vue.
Install
npm install --save vue-oldstyle-events
Usage
Just do:
import OldstyleEvents from 'vue-oldstyle-events'
Vue.use(OldstyleEvents)
Now $broadcast
and $dispatch
work just like they did in Vue 1.0. You may also register an
events object on your Vue instance, again just like you could in Vue 1.0.
Once again, using this in a new project is discouraged. Use an event hub or vuex instead.
But if, like me, you have a codebase that because of this feature is still stuck on Vue 1, then this plugin can help you upgrade to Vue 2 without rewriting all of your event-based logic.
License
MIT © Benjamin Fox