Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 보험료
- 코딩
- 보험
- python
- 교보
- 납입
- 문자열
- 프로그래밍
- 심장질환
- Java
- 급성심근경색증
- 뇌출혈
- 인출수수료
- 추가납입
- 자바스크립트
- 변환
- jQuery
- 사망
- 수수료
- 리스트
- 웹개발
- PythonProgramming
- 프론트엔드
- 파이썬
- 교보생명
- 특약
- 가입
- Vue.js
- javascript
- 중도인출
Archives
- Today
- Total
SeouliteLab
[Vue.js] Vue 이벤트(emits) 발생과 수신 이해하기 본문
이벤트(emits)란?
Vue.js에서 이벤트(emits)는 자식 컴포넌트에서 부모 컴포넌트로 데이터를 전달하기 위한 메커니즘입니다. 자식 컴포넌트에서 이벤트를 발생시키고, 부모 컴포넌트에서 해당 이벤트를 수신하여 처리할 수 있습니다. 이를 통해 컴포넌트 간의 통신을 할 수 있습니다.
예제
아래 예제에서는 자식 컴포넌트에서 버튼을 클릭할 때마다 이벤트를 발생시키고, 부모 컴포넌트에서 해당 이벤트를 수신하여 처리하는 예제를 보여줍니다.
자식 컴포넌트 (ChildComponent.vue):
<template>
<button @click="handleClick">클릭</button>
</template>
<script>
export default {
methods: {
handleClick() {
this.$emit('custom-event', '이벤트 발생!');
}
}
}
</script>
부모 컴포넌트 (ParentComponent.vue):
<template>
<div>
<ChildComponent @custom-event="handleCustomEvent" />
<p>이벤트 메시지: {{ message }}</p>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
data() {
return {
message: ''
};
},
methods: {
handleCustomEvent(payload) {
this.message = payload;
}
}
}
</script>
설명
- 자식 컴포넌트에서는
$emit
메소드를 사용하여 이벤트를 발생시킵니다. 이때, 첫 번째 인자로 이벤트 이름을 지정하고, 두 번째 인자로 전달할 데이터를 넘깁니다. - 부모 컴포넌트에서는 자식 컴포넌트를 사용할 때
@이벤트이름
을 통해 해당 이벤트를 수신하고, 수신한 데이터를 처리합니다.
주요 특징
- 단방향 데이터 흐름: 부모 컴포넌트에서 자식 컴포넌트로만 데이터를 전달할 수 있습니다.
- 유연한 통신: 컴포넌트 간의 통신을 쉽게 구현할 수 있습니다.