Front-end/Vue.js
Vue) 자식 -> 부모 컴포넌트에 데이터 넘기기. 부모 컴포넌트에 파라미터 넘기기 emit 사용 방법
luana_eun
2024. 2. 27. 11:43
728x90
자식 컴포넌트에서 부모 컴포넌트에게 데이터를 넘기고자 한다.
부모 컴포넌트의 함수를실행시키는 방법과, 파라미터 여러 개는 어떻게 넘기는지 알아보자.
구조
/* 부모 컴포넌트 */
<div>
<TestComponent @setData="testFunc" />
</div>
export default {
...(생략)...
,methods: {
testFunc(파라미터1, 파라미터2) {
console.log("자식에서 실행명령받음!")
}
}
}
// 자식 컴포넌트
<span @click="changeNum()">
export default {
...(생략)...
,methods: {
changeNum() {
this.$emit('setDate', 파라미터1, 파라미터2);
}
}
}
파라미터 넘기기
부모 컴포넌트에서 자식컴포넌트 태그에 @함수명A = "함수명B" 를 입력한다.
ex) <TestComponent @setData="testFunc" />
여기서 '함수명A' 는 자식의 호출을 알아차리기 위한 이름이고.
'함수명B' 는 자식의 호출을 받아 실행할 부모의 함수다.
즉, 자식이 "함수명A ~!" 라고 부모를 부르면 부모는 "알았어~ B 할게!" 라고 대답하는 느낌이다.
자식이 부모를 부를때는 emit으로 부른다.
this.$emit("함수명A", 파라미터1, 파라미터2);
파라미터는 주고싶음 만큼 쉼표(,)로 계속 이어나가면된다.
그러면 받는 부모입장에서는 파라미터를 받으면된다.
// 자식이 부모 호출
this.$emit('setDate', 파라미터1, 파라미터2);
// 부모가 호출을 듣고 함수 실행
testFuc(파라미터1, 파라미터2) {
}
728x90