Vue Events: event handling for Vue & Vue 2.0
Works with both Vue 1.0 & Vue 2.0
Installation
1.) Install package via NPM
$ npm install vue-events
2.) Install plugin within project.
import Vue from 'vue';
import VueEvents from 'vue-events';
Vue.use(VueEvents)
or
window.Vue = require('vue');
require('vue-events');
Usage
The $events
prototype object.
This plugin extends Vue.prototype
to include a new $events
object. The $events
object is a simple Vue model which
includes couple aliases for the vm.$emit
& vm.$on
methods.
Firing an event
There are 3 methods that fire events. They're functionally identical and only differ in name.
new Vue({
data() {
return {
eventData: {
foo: 'baz'
}
}
},
mounted() {
// Option #1
this.$events.fire('testEvent', this.eventData);
// Option #2
this.$events.emit('testEvent', this.eventData);
// Option #3
this.$events.$emit('testEvent', this.eventData);
}
})
Note: $events.fire
and $events.emit
are aliases for $events.$emit
.
Listening for an event
There are 3 methods that register event listeners. They're functionally identical and only differ in name.
new Vue({
mounted() {
// Option #1
this.$events.listen('testEvent', eventData => console.log(eventData));
// Option #1
this.$events.on('testEvent', eventData => console.log(eventData));
// Option #3
this.$events.$on('testEvent', eventData => console.log(eventData));
}
})
Note: $events.listen
and $events.on
are aliases for $events.$on
.