vue-oldstyle-events

1.1.0 • Public • Published

vue-oldstyle-events

NPM Version Coverage Status Build Status Downloads Dependency Status License

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

Package Sidebar

Install

npm i vue-oldstyle-events

Weekly Downloads

2

Version

1.1.0

License

MIT

Last publish

Collaborators

  • foxbenjaminfox