반응형
@input="msg= $event.target.value"
input 태그에 입력하면 바로 msg데이터가 변하여 적용 되는 이벤트
v-model="msg"
@input 이벤트와 마찬가지로 값을 입력하면 바로 데이터가 변경된다.
@change="msg= $event.target.value"
input 태그에 값을 입력한 후 엔터를 누르거나 포커스를 다른곳으로 옮기면 값이 변하는 이벤트
v-model.lazy="msg"
@change 이벤트와 마찬가지로 입력후 포커스를 다른곳으로 이동하면 데이터가 변경된다.
v-model.number="msg"
데이터가 숫자형일때 선언해 주어야 숫자형으로 입력이 가능하다
v-model.trim="msg"
입력한 데이터의 앞뒤로 공백이 존재하면 제거하여 출력한다.
App.vue 코드
<template>
<h1>데이터 결과 화면: {{ msg }}</h1>
<br />
@input="msg= $event.target.value" :
<input
type="text"
:value="msg"
@input="msg= $event.target.value" />
<br />
<br />
@change="msg= $event.target.value" :
<input
type="text"
:value="msg"
@change="msg= $event.target.value" />
<br />
<br />
v-model.lazy="msg" :
<input
type="text"
v-model.lazy="msg" />
<br />
<br />
v-model="msg" :
<input
type="text"
v-model="msg" />
<br />
<br />
<!-- 숫자를 입력할 때에는 number를 붙여줘야 한다. 기본적으로는 String으로 된다. -->
v-model.number="msg":
<input
type="text"
v-model.number="msg" />
<br />
<br />
<!-- trim을 추가해 주면 입력한 값의 앞뒤로 공백을 제거해 준다. -->
v-model.trim="msg":
<input
type="text"
v-model.trim="msg" />
</template>
<script>
export default {
data() {
return {
// msg: 'Hello world!'
msg: 123
}
},
// 데이터가 변경될 때 해당 데이터의 정보를 확인
watch: {
msg() {
console.log('msg(type): ' + typeof this.msg)
console.log('msg: ' + this.msg)
}
}
}
</script>
v-model.number="msg"
반응형
'프론트엔드 > Vue.js' 카테고리의 다른 글
리스트 렌더링 (0) | 2021.07.28 |
---|---|
조건부 렌더링 (0) | 2021.07.28 |
클래스와 스타일 바인딩 (0) | 2021.07.27 |
Watch (0) | 2021.07.26 |
Computed Getter, Setter 예제 (0) | 2021.07.26 |