vue-option-events
vue-option-events
Bring Vue.js 1 events option and $emit to Vue.js 2.
Install
npm install vue-option-events --save
Basic Usage
Install plugin
import Vue from 'vue';
import vueOptionEvents from 'vue-option-events';
Vue.use(vueOptionEvents);
Set events
option
Component A
new Vue({
methods: {
show(hiMessage) {
console.log(hiMessage);
}
},
events: {
hello(helloMessage) {
console.log(helloMessage);
},
hi: 'show'
}
});
Component B
new Vue({
methods: {
send() {
this.$emit('hello', 'world');
this.$emit('hi', 'world');
}
}
});
Use as global event bus
new Vue({
methods: {
send() {
this.$event.$emit('hello', 'world');
}
}
});
Emit events from any where
import eventBus from 'vue-option-events';
eventBus.$emit('hello', 'world');
Options
Vue.use(vueOptionEvents, {
keepAlive: false
});
keepAlive
enable if you want keep handling events on inactive keep-alive components, defaultfalse
Dependencies
@vue/test-utils: ^1.0.0-beta.28babel-core: ^6.26.0babel-eslint: ^10.0.1babel-preset-env: ^1.6.0conventional-changelog-cli: ^2.0.11eslint: ^5.12.0eslint-config-airbnb-base: ^13.1.0eslint-plugin-import: ^2.14.0eslint-plugin-jest: ^22.1.3jest: ^23.6.0rollup: ^1.1.0rollup-plugin-babel: ^3.0.7rollup-plugin-node-resolve: ^4.0.0vue: ^2.5.21vue-template-compiler: ^2.5.21