vue-simple-events
v1.1.2
Published
Yet another event management plugin, but WITHOUT Vue instance
Downloads
11
Readme
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)
}