인프런 커뮤니티 질문&답변

shlee3님의 프로필 이미지
shlee3

작성한 질문수

Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"

공통 컴포넌트 분리 (based on Vue.js 3 spec)

PostForm.vue 분리 문의 드립니다.

작성

·

271

0

PostForm.vue 파일로 컴포넌트 분리 중

PostCreateView , PostForm 동작에 대해서 이해가 잘 안가서 문의 드립니다.

 

  1. PostCreateView 에서 PostForm 사용시 title, content 를

    v-bind가 아닌 v-model 사용하는것이 어떻게 동작되는지 모르겠습니다.

     

     

    v-model을 사용해도 자식 컴포넌트에서 defineProps 으로 받을 수 있는건가요?

  1. PostForm 에서

    $emit('update:title', $event.target.value) 하면 상위 컴포넌트에서는 어떤 동작이 발생되는지 궁금합니다.
    @update 와같이 받는 부부분이 없는데, update:title, update::content 가 어떤 동작을 의미하는지 모르겠습닏다.

     

 

답변 1

0

짐코딩님의 프로필 이미지
짐코딩
지식공유자

안녕하세요 🙂

질문1) PostCreateView 에서 PostForm 사용시 title, contentv-bind가 아닌 v-model 사용하는것이 어떻게 동작되는지 모르겠습니다. v-model을 사용해도 자식 컴포넌트에서 defineProps 으로 받을 수 있는건가요?

>> 네, 맞습니다. 자식 컴포넌트에서 modelValue props로 받고, update:modelValue emit으로 업데이트할 수 있습니다.

<script setup>
const props = defineProps(['modelValue'])
const emit = defineEmits(['update:modelValue'])
</script>

질문2) PostForm 에서 $emit('update:title', $event.target.value) 하면 상위 컴포넌트에서는 어떤 동작이 발생되는지 궁금합니다. @update 와같이 받는 부부분이 없는데, update:title, update::content 가 어떤 동작을 의미하는지 모르겠습닏다.

>> 상위 컴포넌트에서는 @update:title="" 이벤트로 받을 수 있고 다중 v-model을 활용하면 v-model:title="" 로 연결할 수 있습니다.

 

질문을 보면 v-model이 양방향 바인딩이다. 까지는 알고 계신 것 같은데요.

  • v-model 깊은 이해

  • Vue3 다중 v-model

이러한 개념을 학습하지 않으신 것 같습니다. 꼭 학습 후에 실전편 강의를 보는것을 권장드립니다.

 

shlee3님의 프로필 이미지
shlee3

작성한 질문수

질문하기