event bus


https://ryuzuka.github.io/VUE/tutorial/10_eventBus.html


비어있는 Vue 인스턴스를 이벤트 버스로 이용해 컴포넌트 간 통신 가능( $emit, $on )


<div id="app">
<div>
<button-component></button-component>
<text-component></text-component>
</div>
</div>

<script>
let eventBus = new Vue(); // 빈 Vue 인스턴스 생성

Vue.component( 'button-component', {
template: '<button @click="clickButton">button-component</button>',
methods: {
clickButton () {
eventBus.$emit( 'component-event', '비 부모-자식간 컴포넌트 통신' );
}
}
});

Vue.component( 'text-component', {
template: '<span>{{ text }}</span>',
data: function () {
return { text: '' };
},
mounted: function () {
eventBus.$on( 'component-event', function ( text ) {
this.text = text;
}.bind( this ));
}
});
new Vue({
el: '#app',
});
</script>



'Vue' 카테고리의 다른 글

동적 컴포넌트 ( is, keep-alive )  (0) 2019.02.08
slot  (0) 2019.02.08
사용자 정의 이벤트  (0) 2019.02.06
props  (0) 2019.02.05
컴포넌트  (0) 2019.01.26