vue-simple-events

1.1.2 • Public • Published

vue-simple-events

Yet another event management plugin, but WITHOUT Vue instance

About

This is just a simple wrapper around js-simple-events that helps to manage events in a simple way without creating a Vue instance. It also supports TypeScript!

And it's really light - ~1kb in size!

Methods

Method Params Description
vm.$events.emit event, payload Emit the event with the given payload.
vm.$events.$emit event, payload Alias for emit
vm.$events.fire event, payload Alias for emit
vm.$events.on event, callback Listen for the event with the given callback.
vm.$events.$on event, callback Alias for on
vm.$events.listen event, callback Alias for on
vm.$events.once event, callback Listen for the event once, after handling - remove the listener.
vm.$events.$once event, callback Alias for $once
vm.$events.off event, callback Remove event listener(s) for the event.
vm.$events.$off event, callback Alias for off
vm.$events.remove event, callback Alias for off

Examples

// Import and initialize
import Vue from 'vue'
import EventManager from 'vue-simple-events'
 
Vue.use(EventManager)
/// Component 1
 
methods: {
  eventHandler(payload) {
    console.log('Yay, events work!', payload);
  }
},
created() {
  this.$events.on('test', this.eventHandler);
  this.$events.once('test', () => console.log('This will be called just once!'));
},
beforeDestroy() {
  this.$events.off('test', this.eventHandler);
}
/// Component 2
 
created() {
  // Emit events
  this.$events.emit('test', 'Hello!');
  // Logs:
  // -> Yay, events work! Hello!
  // -> This will be called just once!
 
  this.$events.emit('test', 'Hello!');
  // Logs:
  // -> Yay, events work! Hello!
  // (The 'once' handler isn't fired)
}

Demo

webpack 4 application

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.1.2
    2
    • latest

Version History

Package Sidebar

Install

npm i vue-simple-events

Weekly Downloads

2

Version

1.1.2

License

MIT

Unpacked Size

12.4 kB

Total Files

9

Last publish

Collaborators

  • kaskar2008
  • raiondesu