Vue.js 3 이벤트 버스
P粉905144514
2023-08-24 18:08:45
<p>Vue 3에서 이벤트 버스를 만드는 방법은 무엇입니까? </p>
<시간 />
<p>Vue 2에서는 다음과 같습니다.</p>
<pre class="brush:js;toolbar:false;">export const 버스 = new Vue();
</pre>
<pre class="brush:js;toolbar:false;">bus.$on(...)
버스.$방출(...)
</pre>
<시간 />
<p>Vue 3에서 <code>Vue</code>는 더 이상 생성자가 아니며 <code>Vue.createApp({});</code>는 <code>$ on< ;/code> 객체 코드> 및 <code>$emit</code> </p>
Vue.js 버전 3에서는 타사 라이브러리를 사용하거나 게시자-구독자(PubSub 개념) 프로그래밍 패턴으로 작성된 기능을 사용할 수 있습니다.
event.js
으아악index.js
으아악공식 문서에 제안된 대로 mitt 라이브러리를 사용하여 구성 요소 간에 이벤트를 전달할 수 있습니다. 사이드바와 사이드바를 닫거나 여는 버튼이 포함된
header가 있다고 가정하면 해당 버튼이 필요합니다. 사이드바 구성 요소 내에서 특정 속성을 전환합니다.
main.js에서 라이브러리를 가져오고 이미터의 인스턴스를 생성한 후 이를 전역 속성으로 정의합니다.
설치:
으아악사용법:
으아악헤더에 일부 페이로드가 포함된
으아악toggle-sidebar
toggle-sidebar 이벤트를 내보냅니다.사이드바에 페이로드가 포함된 이벤트 수신:
으아악컴포지션 API를 사용하는 경우 다음과 같이
emitter
이미터를 사용할 수 있습니다.src/composables/useEmitter.js 파일 만들기
으아악여기서
useEmitter를 사용할 수 있습니다.useEmitter
,就像使用useRouter
useRouter처럼으아악 조합 API 사용
eventBus.js
으아악
구성요소 A에서 다음을 수행합니다.으아악
컴포넌트 B: 🎜 으아악