1.1.2 • Published 6 years ago

vue-simple-events v1.1.2

Weekly downloads
5
License
MIT
Repository
github
Last release
6 years ago

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

MethodParamsDescription
vm.$events.emitevent, payloadEmit the event with the given payload.
vm.$events.$emitevent, payloadAlias for emit
vm.$events.fireevent, payloadAlias for emit
vm.$events.onevent, callbackListen for the event with the given callback.
vm.$events.$onevent, callbackAlias for on
vm.$events.listenevent, callbackAlias for on
vm.$events.onceevent, callbackListen for the event once, after handling - remove the listener.
vm.$events.$onceevent, callbackAlias for $once
vm.$events.offevent, callbackRemove event listener(s) for the event.
vm.$events.$offevent, callbackAlias for off
vm.$events.removeevent, callbackAlias 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

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago