hhfa1990
9/8/2017 - 4:48 PM

Comunicación entre componentes. (Event.fire & Event.listen)

Comunicación entre componentes. (Event.fire & Event.listen)

window.Event = new class {
	constructor() {
		this.vue = new Vue();
	}

	fire(event, data = null) {
		this.vue.$emit(event, data);
	}

	listen(event, callback) {
		this.vue.$on(event, callback);
	}
}

Vue.component('units', require('./components/MyComponent.vue'));

const app = new Vue({
	el: '#app',
	created() {
		Event.listen('applied', () => console.log('Event applied handling it!'))
	}
});
<template>
  <input type="text" @blur="onTextApplied">
</template>

<script>
    export default {
        mounted() {
            console.log('Component loaded!')
        },
        methods: {
            onTextApplied() {
                console.log('Event applied Fired!')
                Event.fire('applied')
            }
        }
    }
</script>