[컴포넌트 심화-3] 컴포넌트에서의 v-model 디렉티브

2025. 3. 27. 17:49·Frontend/Vue 3
728x90

...동적 컴포넌트 작성 예정...

v-model 디렉티브?

3장에서 학습한 양방향 바인딩 을 지원하는 `v-model`을 말함

기존에는 동일 파일(컴포넌트)에서 사용했지만, 컴포넌트 개념에서 서로 다른 파일 (컴포넌트)

이를 컴포넌트에서 사용하면 미리 정의된 속성명과 이벤명을 통해 양방향 바인딩처럼 부모컴포넌트에서 사용 가능

📌 컴포넌트에서 v-model 디렉티브는 부모 컴포넌트에서만 이점이 있음

v-model을 사용하지 않은 경우

왼쪽: 부모 컴포넌트 / 오른쪽: 자식 컴포넌트

  1. 자식으로부터 이벤트를 수신해 함수와 매핑 하는 `@update:name ="changeSearchName"` 
  2. changeSearchName 함수: 자식으로부터 받아온 값 (여기서는 name)으로 searchName 속성 업데이트

v-model을 사용한 경우

  • 부모 컴포넌트: InputNameApp
  • 자식 컴포넌트: InputName

왼쪽: 부모 컴포넌트 / 오른쪽: 자식 컴포넌트

  1. 부모 컴포넌트에 있는 `searchName` 속성을 자식 컴포넌트로 양방향 바인딩함. (name으로명명)
  2. 자식 컴포너트에서는 반드시 `name`이라는 props가 선언 돼야 함
  3. 또한, 부모에게 보내는(emit) 이벤트 명은 `update:속성명` (여기서는 `update:name`)의 형식 사용

 

v-model을 사용한 경우와 사용하지 않는 경우 모두 자식 컴포넌트의 코드는 변화X

하지만, v-model을 사용한 경우,
부모 컴포넌트에서 이벤트를 수신하고, 부모의 데이터 (여기서는 `searchName`)를 변경하는 함수 작성 X

👉 따라서 컴포넌트에서 v-model 디렉티브는 부모에게만 코드를 간결하게 하는 이점을 줌 
728x90
'Frontend/Vue 3' 카테고리의 다른 글
  • [컴포넌트 심화-5] 텔레포트, 동적 컴포넌트 &비동기 컴포넌트
  • [컴포넌트 심화-4] Provide & Inject
  • [컴포넌트 심화-2] Slot
  • [컴포넌트 심화-1] 단일 파일 컴포넌트에서의 스타일
0woy
0woy
Algorithm, CS, Web 등 배운 내용을 기록합니다.
  • 0woy
    0woy dev
    0woy
  • 전체
    오늘
    어제
  • 🌐 LANGUAGE
    • 분류 전체보기 (62) N
      • Backend (13) N
        • JAVA (6) N
        • DB (7) N
      • Frontend (15)
        • HTML5 (1)
        • CSS (1)
        • JS (4)
        • Vue 3 (9)
      • Computer Science (15)
        • 네트워크 (9)
        • 운영체제 (5)
      • PS (14) N
        • LeetCode (2)
        • Baekjoon (1)
        • Programmers (0)
        • 알고리즘 (11) N
      • Dev Trivia (5) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    dom
    udp
    shortestpath
    함수
    JDBC
    속성
    select
    Vue3
    list
    상속
    https
    java
    set
    map
    javascript
    leetcode
    DP
    Graph
    BFS
    view
    RDB
    HTTP
    function
    DNS
    MySQL
    dfs
    tcp
    JS
    Props
    그래프
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
0woy
[컴포넌트 심화-3] 컴포넌트에서의 v-model 디렉티브
상단으로

티스토리툴바