Vue의 v-model 사용 사례
1. 기본 사용법
<template>
<div id="app">
<input v-model="x">
{{x}}
</div>
</template>
<script>
export default {
data(){
return {
x: 'init'
}
}
}
JS에서 x의 값을 수정하면 input 입력 상자에서도 변경됩니다.마찬가지로 페이지의 input 입력 상자에 수동으로 값을 입력하면 변수 x의 값도 변경됩니다.대상의 변수 변화는 보기의 input 변화에 영향을 주고 보기의 input 변화는 대상의 변수 x값의 변화에 영향을 준다.이것이 바로 양방향 바인딩(Model-View-View-Model)입니다.2. v-model
실질적으로 상기 v-model을 사용하는 코드는 다음과 같은 코드와 동일합니다.
<template>
<div id="app">
<input :value="x" @input="x = $event.target.value">
{{x}}
</div>
</template>
<script>
export default {
data(){
return {
x: 'init'
}
}
}
</script>
v-model이 도와주는 일은 input의value 값에 동적 귀속을 설정하고 입력 상자의 input 이벤트가 터치되면 동적 귀속의value 변수 값을 실시간으로 수정하는 것입니다.따라서 v-model은 실질적으로 상술한 방식의 문법당이다.$event는 원래 DOM 이벤트의 이벤트 대상입니다.
3. v-model의 수식자
모든 수식자는 보조적인 작용을 하는데 사실 함수에서 스스로 조건을 판단하여 실현할 수 있다.lazyv-model 기본 감청은 입력 상자의 input 이벤트입니다. 원생 DOM의 input 이벤트는 실시간 입력 변화 값을 기록하는 것입니다.그러나 우리는 때때로 실시간으로 결과를 기록할 필요가 없고 최종적으로 입력한 결과 값만 기록하면 된다.
입력 상자가 초점을 잃었거나 리턴 키를 눌렀을 때 실행되는 change 이벤트가 있습니다.v-model에서.lazy 수식자의 방식을 이 감청 모드로 전환합니다.
<template>
<div id="app">
<input v-model.lazy="x">
{{x}}
</div>
</template> :<template>
<div id="app">
<input :value="x" @change="x = $event.target.value">
{{x}}
</div>
</template>
.number.number 수식자는 입력 내용이 바뀐 후 변수 값을 부여할 때 parseFloat () 함수를 자동으로 사용하여 숫자로 만듭니다.이 수식자를 사용할 때 변수의 초기 값은 숫자여야 합니다.
<template>
<div id="app">
<input v-model.number="x">
{{x}}
</div>
</template>
<script>
export default {
data(){
return {
x: 0
}
}
}
</script>
<template>
<div id="app">
<input v-model.trim="x">
{{x}}
</div>
</template>
<script>
export default {
data(){
return {
x: 'init'
}
}
}
</script>
4. 입력 상자를 사용자 정의하는 v-modelv-model기본적인 사용법은 원생의 입력 상자 요소에만 적용되며, 사용자 자신이 봉인한 입력 상자에 대해서는 다음과 같은 방식으로 v-model을 사용할 수 있다.구성 요소에 사용할 때 v-model의 실질은 다음과 같습니다.
<custom-input v-model="x"></custom-input>
:
<custom-input :value="x" @input="x = $event"></custom-input>
따라서 사용자 정의 양식 구성 요소에 다음과 같이 쓰십시오.
<template>
<div class="wrapper">
<input :value="value" @input="$emit('input', $event.target.value)">
</div>
</template>
<script>
export default {
props: {
value: {
type: String
}
}
}
</script>
<style scoped>
.wrapper{
border: 2px solid blue;
display: inline-block;
}
.wrapper input{
color: red;
}
</style>
<template>
<div id="app">
<MyInput v-model="x"/>
{{x}}
</div>
</template>
<script>
import MyInput from './components/MyInput'
export default {
data(){
return {
x: 0
}
},
components:{
MyInput
}
}
</script>
추가: 사용자 정의 구성 요소 안의 원생 입력 상자에도 v-model을 사용하려면 구성 요소 v-model의 실질에 따라 속성을 계산하는 값 부여 방식을 = 로 사용할 수 있습니다.이상은 바로 Vue의 v-model 용법 실례에 대한 상세한 내용입니다. 더 많은 vue v-model에 관한 자료는 저희 다른 관련 문장에 주목하세요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fastapi websocket 및 vue 3(Composition API)1부: FastAPI virtualenv 만들기(선택 사항) FastAPI 및 필요한 모든 것을 다음과 같이 설치하십시오. 생성main.py 파일 및 실행 - 브라우저에서 이 링크 열기http://127.0.0.1:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.