- 여러단계 컴포넌트를 거슬러 이벤트 전달 시 mitt라이브러리 설치 후 사용
- mitt설치
-
npm install mitt
- main.js 수정
-
import { createApp } from 'vue'
import App from './App.vue'
import mitt from 'mitt'
// 모든 컴포넌트가 mitt 사용가능
let emitter = mitt();
let app = createApp(App)
app.config.globalProperties.emitter = emitter;
// createApp(App).mount('#app')
app.mount('#app')
- this.emitter.emit(): 이벤트 보낼때
-
함수(데이터) {
this.emitter.emit('이벤트명', 데이터)
}
- this.emitter.on(): 이벤트 받을때, 주로 mounter() hook에서 구현
-
mounted() {
this.emitter.on('이벤트명', (받은데이터)=>{
....
});
},