
:value를 사용하면 데이터가 Vue의 상태에서 DOM으로 한 방향으로만 흐릅니다.input, select, option 등의 태그에서 초기값 설정에 사용됩니다.[예시]
message 값이 input의 초기 value로 설정input 필드의 값을 변경해도 message는 업데이트 안됨<template>
<input :value="message" />
</template>
<script>
export default {
data() {
return {
message: "Hello, Vue!",
};
},
};
</script>
v-model을 사용한다면 이미 input값을 처리해주고 있기 때문에 @input이벤트는 따로 사용하지 않아도 된다[예시]
v-model은 :value와 @input을 결합한 형태<template>
<input v-model="message" />
</template>
<script>
export default {
data() {
return {
message: "Hello, Vue!",
};
},
};
</script>
🧨 주의할점
v-model사용시:value를 동시에 사용할 필요 x
->v-model자체가:value와@input이벤트를 모두 처리해버리기 때문
[예시]<input v-model="message" :value="anotherValue" />
📍 요약
- 단순히 초기값만 설정하고 싶은 경우
:value를 사용합니다.- Vue 데이터와 DOM을 실시간으로 동기화하고 싶다면
v-model을 사용하세요.