상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
몸속 면역세포를 살리는 음식
신체 방어력을 돕는 대표 식품 모음
수험생 건강 챙기기 위한 음식
불면증 완화와 면역에 좋은 음식
유산균과 함께 먹으면 더 좋은 면역에 좋은 음식
도매매와 도매꾹 차이, 경험자가 말하는 현실
보고서 양식을 만드는 데 유용한 템플릿은 무엇이 있나요?
보고서 양식에서 데이터의 출처를 명시하는 방법은?
다이어트 중에도 만족감 주는 애사비 젤리
애사비, 식사 전과 후 섭취 방법 차이
애사비, 식후 포만감과 혈당 모두 고려한 선택
강황 효능, 단기 복용과 장기 복용의 차이
Previous
Next
수정하기 - Vue.js에서 사용자 정의 이벤트를 만드는 방법은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Vue.js에서 사용자 정의 이벤트를 만드는 것은 컴포넌트 간의 통신을 원활하게 하고, 특정 동작이나 상태 변화를 부모 컴포넌트에 알리는 데 유용합니다. 사용자 정의 이벤트는 주로 <a href='/sangseeks/자식/ko'>자식</a> 컴포넌트에서 발생하며, 부모 컴포넌트가 이를 수신하여 적절한 처리를 할 수 있도록 합니다. 아래에서는 Vue.js에서 사용자 정의 이벤트를 만드는 방법에 대해 자세히 설명하겠습니다. 1. 사용자 정의 이벤트의 기본 개념 Vue.js에서는 `this.$emit` 메서드를 사용하여 사용자 정의 이벤트를 발생시킬 수 있습니다. 이 메서드는 자식 컴포넌트에서 호출되며, 부모 컴포넌트는 해당 이벤트를 수신하여 처리할 수 있습니다. 2. 사용자 정의 이벤트 생성하기 2.1. 자식 컴포넌트에서 이벤트 발생시키기 먼저, 자식 컴포넌트에서 이벤트를 발생시키는 방법을 살펴보겠습니다. 아래는 버튼 클릭 시 `custom-event`라는 사용자 정의 이벤트를 발생시키는 예제입니다. ```vue <template> <div> <button @click="emitCustomEvent">Click Me</button> </div> </template> <script> export default { methods: { emitCustomEvent() { // 사용자 정의 이벤트 발생 this.$emit('custom-event', { <a href='https://sangseek.com/sangseeks/message/ko'>message</a>: 'Hello from child!' }); } } } </script> ``` 위의 코드에서 `emitCustomEvent` 메서드는 버튼 클릭 시 호출되며, `this.$emit`을 통해 `custom-event`라는 이벤트를 발생시킵니다. 두 번째 인자는 이벤트와 함께 전달할 데이터입니다. 2.2. 부모 컴포넌트에서 이벤트 수신하기 이제 부모 컴포넌트에서 자식 컴포넌트가 발생시킨 이벤트를 수신하는 방법을 살펴보겠습니다. ```vue <template> <div> <ChildComponent @custom-event="handleCustomEvent" /> </div> </template> <script> import ChildComponent from './ChildComponent.vue'; export default { components: { ChildComponent }, methods: { handleCustomEvent(payload) { // 자식 컴포넌트에서 발생한 이벤트 처리 console.log(payload.message); // "Hello from child!" } } } </script> ``` 위의 코드에서 `@custom-event`는 자식 컴포넌트에서 발생한 `custom-event`를 수신하는 부분입니다. `handleCustomEvent` 메서드는 이벤트가 발생할 때 호출되며, 자식 컴포넌트에서 전달한 데이터를 인자로 받습니다. 3. 여러 개의 사용자 정의 이벤트 하나의 자식 컴포넌트에서 여러 개의 사용자 정의 이벤트를 발생시킬 수도 있습니다. 예를 들어, 다음과 같이 두 개의 이벤트를 발생시킬 수 있습니다. ```vue <template> <div> <button @click="emitFirstEvent">First Event</button> <button @click="emitSecondEvent">Second Event</button> </div> </template> <script> export default { methods: { emitFirstEvent() { this.$emit('first-event', { message: 'First event triggered!' }); }, emitSecondEvent() { this.$emit('second-event', { message: 'Second event triggered!' }); } } } </script> ``` 부모 컴포넌트에서는 다음과 같이 두 개의 이벤트를 수신할 수 있습니다. ```vue <template> <div> <ChildComponent @first-event="handleFirstEvent" @second-event="handleSecondEvent" /> </div> </template> <script> import ChildComponent from './ChildComponent.vue'; export default { components: { ChildComponent }, methods: { handleFirstEvent(payload) { console.log(payload.message); // "First event triggered!" }, handleSecondEvent(payload) { console.log(payload.message); // "Second event triggered!" } } } </script> ``` 4. 이벤트 버스(Event Bus) 사용하기 Vue.js에서는 이벤트 버스를 사용하여 여러 컴포넌트 간의 통신을 할 수 있습니다. 이벤트 버스는 Vue 인스턴스를 사용하여 이벤트를 발생시키고 수신하는 방법입니다. 그러나 Vue 3에서는 Composition API와 provide/inject 패턴을 사용하는 것이 더 권장됩니다. 5. 결론 Vue.js에서 사용자 정의 이벤트는 컴포넌트 간의 통신을 쉽게 만들어 주며, 자식 컴포넌트에서 발생한 이벤트를 부모 컴포넌트가 수신하여 처리할 수 있도록 합니다. `this.$emit` 메서드를 사용하여 이벤트를 발생시키고, 부모 컴포넌트에서 해당 이벤트를 수신하여 적절한 처리를 할 수 있습니다. 이러한 방식은 Vue.js의 컴포넌트 기반 아키텍처에서 매우 유용하게 사용됩니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기