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
- 스크럼기법
- mysql 튜닝
- 시스템 파악 정리
- plsql
- 폭포수 모형
- Law of Demeter
- 프로토타입 모형
- 인증서만료에러
- avax.net.ssl.SSLHandshakeException:
- 변수명 짓는법
- 에자일 모형
- Bandit Level 6 → Level 7
- 클린코드
- table scan
- pl/sql
- 디미터 법칙
- 커맨드공부
- 명령어공부
- was SQLRecoverableException
- OpenAPI
- vue
- was버그
- 시스템 파악
- Bandit Level 6
- java.sql.SQLRecoverableException
- Bandit Level 5
- springboot
- CSS
- SQLRecoverableException
- 나선형 모형
Archives
- Today
- Total
개발햄비
[vue] 자식 컴포넌트에서 부모 컴포넌트로 값 전달 $emit() 사용법 본문
자식 컴포넌트
<template>
<div class="yellow lighten-3 pa-3">
<h3>회원 정보 수정</h3>
<p>수정내용</p>
<v-text-field label="이름" v-model="user.name"></v-text-field>
<v-text-field label="주소" v-model="user.address"></v-text-field>
<v-text-field label="전화번호" v-model="user.phone"></v-text-field>
<v-radio-group v-model="user.hasDog">
<v-radio label="`반려견유`" :value="true"></v-radio>
<v-radio label="`반려견무`" :value="false"></v-radio>
</v-radio-group>
<v-btn color="info" @click="update">수정</v-btn>
</div>
</template>
<script>
export default {
// 부모에게 받은 값을 바로 가공하면 에러발생. 가공필요.
props:['name','address','phone','hasDog'],
data() {
return{
user:{}
}
// 부모 컴포넌트에서 props로 받은 값을 자식컴포넌트로 바꾼 뒤 사용하면 에러가 발생하지 않는다.
// 위 data()안에 있는 user에 담기.
},created(){
this.user.name = this.name,
this.user.address = this.address,
this.user.phone = this.phone,
this.user.hasDog = this.hasDog
},
methods:{
update(){
// 자식 컴포넌트에서 부모 컴포넌트로 보내는 것이 $emit()
this.$emit("child",this.user)
}
}
}
</script>
부모 컴포넌트
<v-flex xs12 sm6>
<UserEdit
:name="name"
:address="address"
:phone="phone"
:hasDog="hasDog"
@child="parents"></UserEdit>
</v-flex>
<script>
export default {
methods:{
parents(user){
this.name = user.name,
this.address = user.address,
this.phone = user.phone,
this.hasDog = user.hasDog
}
}
}
</script>
자식 컴포넌트의
this.$emit("child",this.user)
를 통해서 부모 컴포넌트로 값을 보낸다.
<UserEdit
:name="name"
:address="address"
:phone="phone"
:hasDog="hasDog"
@child="parents"><
/UserEdit>
@child = "parents" 메소드를 통해서 받은 값으로 부모 컴포넌트 값에 적용할 수 있다
'개발 > vue' 카테고리의 다른 글
[vue]Vuetify기초 Breakpoints & Visibility정리 (3) (0) | 2019.04.01 |
---|---|
[vue]Vuetify기초 Button / Icons 정리 (2) (0) | 2019.04.01 |
[vue] Vuetify 기초 color / font 태그 정리 (1) (0) | 2019.03.28 |
[vue] 형제 컴포넌트 간 값 전송하기 eventBus (0) | 2019.02.20 |
[vue] vue.js _ props사용법 (0) | 2019.02.17 |