21.08.06 14:55 작성
·
1.4K
2
vue3에서는 event bus($emit, $on)를 지원하지 않아 외부 플러그인 mitt를 사용하여 구현하고 있었습니다.
mitt은 main.js에서 등록을 하는데 기존 컴포넌트에서는 무리 없이 사용하여 구현을 따라갈 수 있었으나,
routes/index.js에서는 this.emiiter가 undefined로 나오고 있습니다.
vue3에서 이벤트 버스를 사용하는 가이드를 받을 수 있을까요?
그리고 외부 mitt 플러그인을 사용할 경우 routes/index.js에 undefined 나오는걸로 봐선 제가 appContext 등록 흐름을 잘못 이해하는거 같네요 ㅠㅠ
main.js에서 store도 등록하고, emitter도 등록하는데 routes/index.js에서 달리 동작하는 이유를 문의 드립니다.
감사합니다.
답변 1
0
2021. 08. 07. 20:46
안녕하세요 챕스틱님, 좋은 질문이네요 :) 뷰 2에서 이벤트 버스가 남용되는 사례가 많아 공식 가이드에서도 관련 정보를 제거하고 뷰 3에서는 아예 프레임워크 차원에서 해당 기능을 제공하지 않고 있습니다. 이벤트 버스에 의존하시는 것보다는 스토어를 대신 쓰시는 것이 좋을 것 같아요 :)