• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

vue3에서 eventBus 사용시 문의

21.08.06 14:55 작성 조회수 1.24k

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

안녕하세요 챕스틱님, 좋은 질문이네요 :) 뷰 2에서 이벤트 버스가 남용되는 사례가 많아 공식 가이드에서도 관련 정보를 제거하고 뷰 3에서는 아예 프레임워크 차원에서 해당 기능을 제공하지 않고 있습니다. 이벤트 버스에 의존하시는 것보다는 스토어를 대신 쓰시는 것이 좋을 것 같아요 :)