Thanks to visit codestin.com
Credit goes to github.com

Skip to content

foxbenjaminfox/vue-oldstyle-events

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Use old-style (Vue 1.0) event dispatch in Vue 2

Resources

License

Stars

Watchers

Forks

Packages

No packages published