Form Input Bindings â
āĻĢā§āϰāύā§āĻāĻāύā§āĻĄā§ āĻĢāϰā§āĻŽāĻā§āϞāĻŋ āύāĻŋāϝāĻŧā§ āĻāĻžāĻ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ, āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰāĻžāϝāĻŧāĻļāĻ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§ āϏāĻāĻļā§āϞāĻŋāώā§āĻ āĻ āĻŦāϏā§āĻĨāĻžāϰ āϏāĻžāĻĨā§ āĻĢāϰā§āĻŽ āĻāύāĻĒā§āĻ āĻāĻŽā§āĻĒā§āύā§āύā§āĻāĻā§āϞāĻŋāϰ āĻ āĻŦāϏā§āĻĨāĻž āϏāĻŋāĻā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞāĻŋ āĻā§āϝāĻžāϞ⧠āĻŦāĻžāĻāύā§āĻĄāĻŋāĻ āĻāϝāĻŧā§āϝāĻžāϰ āĻāĻĒ āĻāϰāĻž āĻāĻŦāĻ āĻāĻā§āύā§āĻ āĻļā§āϰā§āϤāĻžāĻĻā§āϰ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻž āĻāώā§āĻāĻāϰ āĻšāϤ⧠āĻĒāĻžāϰā§:
template
<input
:value="text"
@input="event => text = event.target.value">
v-model
āύāĻŋāϰā§āĻĻā§āĻļ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻĒāϰā§āĻā§āϤ āĻŦāĻŋāώāϝāĻŧāĻā§āϞāĻŋāĻā§ āϏāĻšāĻ āĻāϰāϤ⧠āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰā§:
template
<input v-model="text">
āĻāĻāĻžāĻĄāĻŧāĻžāĻ, v-model
āĻŦāĻŋāĻāĻŋāύā§āύ āϧāϰāύā§āϰ āĻāύāĻĒā§āĻ, <textarea>
, āĻāĻŦāĻ <select>
āĻāĻŽā§āĻĒā§āύā§āύā§āĻā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻŋ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻŦāĻŋāĻāĻŋāύā§āύ DOM āĻāĻŽā§āĻĒāĻŋāĻāĻā§āĻĄ āĻĒā§āϰāĻĒāĻžāϰā§āĻāĻŋ āĻāĻŦāĻ āĻāĻā§āύā§āĻ āĻā§āĻĄāĻŧāĻžāϝāĻŧ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻšāϝāĻŧ āϝ⧠āĻāĻŽā§āĻĒā§āύā§āύā§āĻāĻāĻŋāϰ āĻāĻĒāϰ āĻāĻāĻŋ āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧ:
<input>
āĻā§āĻā§āϏāĻ āĻĒā§āϰāĻāĻžāϰ āĻāĻŦāĻ<textarea>
āĻāĻŽā§āĻĒā§āύā§āύā§āĻāĻā§āϞāĻŋvalue
āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āĻāĻŦāĻinput
āĻāĻā§āύā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§;<input type="checkbox">
āĻāĻŦāĻ<input type="radio">
āĻā§āĻāĻĄ
āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āĻāĻŦāĻāĻĒāϰāĻŋāĻŦāϰā§āϤāύ
āĻāĻā§āύā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ;<select>
āĻāĻāĻāĻŋ āĻĒā§āϰāĻĒ āĻšāĻŋāϏāĻžāĻŦā§āĻŽāĻžāύ
āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻāĻā§āύā§āĻ āĻšāĻŋāϏāĻžāĻŦā§āĻĒāϰāĻŋāĻŦāϰā§āϤāύ
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤
Note
v-model
āϝā§āĻā§āύ⧠āĻĢāϰā§āĻŽ āĻāĻŽā§āĻĒā§āύā§āύā§āĻā§ āĻĒāĻžāĻāϝāĻŧāĻž āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ value
, checked
āĻŦāĻž selected
āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§āϞāĻŋāĻā§ āĻāĻĒā§āĻā§āώāĻž āĻāϰāĻŦā§āĨ¤ āĻāĻāĻŋ āϏāϰā§āĻŦāĻĻāĻž āĻŦāϰā§āϤāĻŽāĻžāύ āĻāĻŦāĻĻā§āϧ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻ
āĻŦāϏā§āĻĨāĻžāĻā§ āϏāϤā§āϝā§āϰ āĻā§āϏ āĻšāĻŋāϏāĻžāĻŦā§ āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰāĻŦā§āĨ¤ āĻāĻĒāύāĻŋ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻĒāĻžāĻļā§ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āĻŽāĻžāύ āĻā§āώāĻŖāĻž āĻāϰāĻž āĻāĻāĻŋāϤ, āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§reactivity APIs.
Basic Usage â
Text â
template
<p>Message is: {{ message }}</p>
<input v-model="message" placeholder="edit me" />
Message is:
āĻĻā§āϰāώā§āĻāĻŦā§āϝ
āϝā§āϏāĻŦ āĻāĻžāώāĻžāϰ āĻāύā§āϝ IME āĻĒā§āϰāϝāĻŧā§āĻāύ (āĻā§āύāĻž, āĻāĻžāĻĒāĻžāύāĻŋ, āĻā§āϰāĻŋāϝāĻŧāĻžāύ, āĻāϤā§āϝāĻžāĻĻāĻŋ), āĻāĻĒāύāĻŋ āϞāĻā§āώā§āϝ āĻāϰāĻŦā§āύ āϝ⧠IME āĻĒāϰāĻŋāĻŦāϰā§āϤāύā§āϰ āϏāĻŽāϝāĻŧ v-model
āĻāĻĒāĻĄā§āĻ āĻšāϝāĻŧ āύāĻžāĨ¤ āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻ āĻāĻĒāĻĄā§āĻāĻā§āϞāĻŋ āĻāϰāϤ⧠āĻāĻžāύ, āϤāĻžāĻšāϞ⧠v-model
āĻŦā§āϝāĻŦāĻšāĻžāϰ āύāĻž āĻāϰ⧠input
āĻāĻā§āύā§āĻ āϞāĻŋāϏā§āύāĻžāϰ āĻāĻŦāĻ value
āĻŦāĻžāĻāύā§āĻĄāĻŋāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤
Multiline Text â
template
<span>Multiline message is:</span>
<p style="white-space: pre-line;">{{ message }}</p>
<textarea v-model="message" placeholder="add multiple lines"></textarea>
Multiline message is:
āĻŽāύ⧠āϰāĻžāĻāĻŦā§āύ <textarea>
āĻāϰ āĻāĻŋāϤāϰ⧠āĻāύā§āĻāĻžāϰāĻĒā§āϞā§āĻļāύ āĻāĻžāĻ āĻāϰāĻŦā§ āύāĻžāĨ¤ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠v-model
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤
template
<!-- bad -->
<textarea>{{ text }}</textarea>
<!-- good -->
<textarea v-model="text"></textarea>
Checkbox â
āϏāĻŋāĻā§āĻā§āϞ āĻā§āĻāĻŦāĻā§āϏ, boolean āĻŽāĻžāύ:
template
<input type="checkbox" id="checkbox" v-model="checked" />
<label for="checkbox">{{ checked }}</label>
āĻāĻŽāϰāĻž āĻāĻāĻ āĻ ā§āϝāĻžāϰ⧠āĻŦāĻž Set āĻŽāĻžāύāϤ⧠āĻāĻāĻžāϧāĻŋāĻ āĻā§āĻāĻŦāĻā§āϏ āĻāĻŦāĻĻā§āϧ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋ:
js
const checkedNames = ref([])
template
<div>Checked names: {{ checkedNames }}</div>
<input type="checkbox" id="jack" value="Jack" v-model="checkedNames" />
<label for="jack">Jack</label>
<input type="checkbox" id="john" value="John" v-model="checkedNames" />
<label for="john">John</label>
<input type="checkbox" id="mike" value="Mike" v-model="checkedNames" />
<label for="mike">Mike</label>
Checked names: []
āĻāĻ āĻā§āώā§āϤā§āϰā§, checkedNames
āĻ
ā§āϝāĻžāϰā§āϤ⧠āϏāϰā§āĻŦāĻĻāĻž āĻŦāϰā§āϤāĻŽāĻžāύ⧠āĻā§āĻ āĻāϰāĻž āĻŦāĻžāĻā§āϏā§āϰ āĻŽāĻžāύ āĻĨāĻžāĻāĻŦā§āĨ¤
Radio â
template
<div>Picked: {{ picked }}</div>
<input type="radio" id="one" value="One" v-model="picked" />
<label for="one">One</label>
<input type="radio" id="two" value="Two" v-model="picked" />
<label for="two">Two</label>
Picked:
Select â
āĻāĻāĻ select:
template
<div>Selected: {{ selected }}</div>
<select v-model="selected">
<option disabled value="">Please select one</option>
<option>A</option>
<option>B</option>
<option>C</option>
</select>
Selected:
āĻŦāĻŋāĻāĻĻā§āϰāĻ
āϝāĻĻāĻŋ āĻāĻĒāύāĻžāϰ v-model
āĻ
āĻāĻŋāĻŦā§āϝāĻā§āϤāĻŋāϰ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āĻŽāĻžāύ āĻā§āύ⧠āĻŦāĻŋāĻāϞā§āĻĒā§āϰ āϏāĻžāĻĨā§ āĻŽā§āϞ⧠āύāĻž, āϤāĻžāĻšāϞ⧠<select>
āĻāĻŽā§āĻĒā§āύā§āύā§āĻāĻāĻŋ āĻāĻāĻāĻŋ "āĻ
āύāĻŋāϰā§āĻŦāĻžāĻāĻŋāϤ" āĻ
āĻŦāϏā§āĻĨāĻžāϝāĻŧ āϰā§āύā§āĻĄāĻžāϰ āĻšāĻŦā§āĨ¤ āĻāĻāĻāĻāϏ-āĻ āĻāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻĒā§āϰāĻĨāĻŽ āĻāĻāĻā§āĻŽāĻāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰāϤ⧠āϏāĻā§āώāĻŽ āĻšāĻŦā§ āύāĻž āĻāĻžāϰāĻŖ iOS āĻāĻ āĻā§āώā§āϤā§āϰ⧠āĻā§āύāĻ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāĻā§āύā§āĻ āĻāĻžāϞ⧠āĻāϰ⧠āύāĻžāĨ¤ āϏā§āϤāϰāĻžāĻ āĻāĻĒāϰā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖā§ āĻĒā§āϰāĻĻāϰā§āĻļāĻŋāϤ āĻšāĻŋāϏāĻžāĻŦā§, āĻāĻāĻāĻŋ āĻāĻžāϞāĻŋ āĻŽāĻžāύ āϏāĻš āĻāĻāĻāĻŋ āĻ
āĻā§āώāĻŽ āĻŦāĻŋāĻāϞā§āĻĒ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāĻžāϰ āϏā§āĻĒāĻžāϰāĻŋāĻļ āĻāϰāĻž āĻšāϝāĻŧāĨ¤
āĻāĻāĻžāϧāĻŋāĻ āύāĻŋāϰā§āĻŦāĻžāĻāύ (array āϏāĻžāĻĨā§ āĻāĻŦāĻĻā§āϧ):
template
<div>Selected: {{ selected }}</div>
<select v-model="selected" multiple>
<option>A</option>
<option>B</option>
<option>C</option>
</select>
Selected: []
āύāĻŋāϰā§āĻŦāĻžāĻāύā§āϰ āĻŦāĻŋāĻāϞā§āĻĒāĻā§āϞāĻŋ āĻāϤāĻŋāĻļā§āϞāĻāĻžāĻŦā§ v-for
āĻĻāĻŋāϝāĻŧā§ āϰā§āύā§āĻĄāĻžāϰ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§:
js
const selected = ref('A')
const options = ref([
{ text: 'One', value: 'A' },
{ text: 'Two', value: 'B' },
{ text: 'Three', value: 'C' }
])
template
<div>Selected: {{ selected }}</div>
<select v-model="selected">
<option v-for="option in options" :value="option.value">
{{ option.text }}
</option>
</select>
Selected: A
Value Bindings â
āϰā§āĻĄāĻŋāĻ, āĻā§āĻāĻŦāĻā§āϏ āĻāĻŦāĻ āύāĻŋāϰā§āĻŦāĻžāĻāύā§āϰ āĻŦāĻŋāĻāϞā§āĻĒāĻā§āϞāĻŋāϰ āĻāύā§āϝ, v-model
āĻŦāĻžāĻāϧāĻžāĻ āĻŽāĻžāύāĻā§āϞāĻŋ āϏāĻžāϧāĻžāϰāĻŖāϤ āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āϏā§āĻā§āϰāĻŋāĻ (āĻŦāĻž āĻā§āĻāĻŦāĻā§āϏā§āϰ āĻāύā§āϝ āĻŦā§āϞāĻŋāϝāĻŧāĻžāύ):
template
<!-- `picked` is a string "a" when checked -->
<input type="radio" v-model="picked" value="a" />
<!-- `toggle` is either true or false -->
<input type="checkbox" v-model="toggle" />
<!-- `selected` is a string "abc" when the first option is selected -->
<select v-model="selected">
<option value="abc">ABC</option>
</select>
āĻāĻŋāύā§āϤ⧠āĻāĻāύāĻ āĻāĻāύāĻ āĻāĻŽāϰāĻž āĻŦāϰā§āϤāĻŽāĻžāύ āϏāĻā§āϰāĻŋāϝāĻŧ āĻāĻĻāĻžāĻšāϰāĻŖā§ āĻāĻāĻāĻŋ āĻāϤāĻŋāĻļā§āϞ āĻāĻŽā§āĻĒāĻŋāĻāĻā§āĻĄ āĻĒā§āϰāĻĒāĻžāϰā§āĻāĻŋāϰ āϏāĻžāĻĨā§ āĻŽāĻžāύāĻāĻŋāĻā§ āĻāĻŦāĻĻā§āϧ āĻāϰāϤ⧠āĻāĻžāĻāĨ¤ āĻāĻŽāϰāĻž āĻāĻāĻŋ āĻ
āϰā§āĻāύ āĻāϰāϤ⧠v-bind
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋāĨ¤ āĻāĻĒāϰāύā§āϤā§, v-bind
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻāύāĻĒā§āĻ āĻŽāĻžāύāĻā§ āύāύ-āϏā§āĻā§āϰāĻŋāĻ āĻŽāĻžāύā§āϰ āϏāĻžāĻĨā§ āĻāĻŦāĻĻā§āϧ āĻāϰāϤ⧠āĻĻā§āϝāĻŧāĨ¤
Checkbox â
template
<input
type="checkbox"
v-model="toggle"
true-value="yes"
false-value="no" />
true-value
āĻāĻŦāĻ false-value
āĻšāϞ Vue-āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āϝāĻž āĻļā§āϧā§āĻŽāĻžāϤā§āϰ v-model
āĻāϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰā§āĨ¤ āĻāĻāĻžāύ⧠toggle
āĻĒā§āϰāĻĒāĻžāϰā§āĻāĻŋāϰ āĻŽāĻžāύ āĻŦāĻā§āϏ⧠āĻāĻŋāĻ āĻāĻŋāĻšā§āύ āĻĻāĻŋāϞ⧠'yes'
āϤ⧠āϏā§āĻ āĻāϰāĻž āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻŋāĻ āĻāĻŋāĻšā§āύāĻŽā§āĻā§āϤ āĻāϰāĻž āĻšāϞ⧠no'
āϤ⧠āϏā§āĻ āĻāϰāĻž āĻšāĻŦā§āĨ¤ āĻāĻĒāύāĻŋ āĻāĻā§āϞāĻŋāĻā§ v-bind
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāϤāĻŋāĻļā§āϞ āĻŽāĻžāύāĻā§āϞāĻŋāϤ⧠āĻāĻŦāĻĻā§āϧ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ:
template
<input
type="checkbox"
v-model="toggle"
:true-value="dynamicTrueValue"
:false-value="dynamicFalseValue" />
āĻĒāϰāĻžāĻŽāϰā§āĻļ
true-value
āĻāĻŦāĻ false-value
āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§āϞāĻŋ āĻāύāĻĒā§āĻā§āϰ value
āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§ āĻĒā§āϰāĻāĻžāĻŦāĻŋāϤ āĻāϰ⧠āύāĻž, āĻāĻžāϰāĻŖ āĻŦā§āϰāĻžāĻāĻāĻžāϰāĻā§āϞāĻŋ āĻĢāϰā§āĻŽ āĻāĻŽāĻž āĻĻā§āĻāϝāĻŧāĻžāϰ āĻā§āώā§āϤā§āϰ⧠āĻ
āĻā§āĻ āĻāϰāĻž āĻŦāĻžāĻā§āϏāĻā§āϞāĻŋāĻā§ āĻ
āύā§āϤāϰā§āĻā§āĻā§āϤ āĻāϰ⧠āύāĻžāĨ¤ āĻĻā§āĻāĻŋ āĻŽāĻžāύā§āϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋ āĻĢāϰā§āĻŽā§ āĻāĻŽāĻž āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧā§āĻā§ āϤāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāϤ⧠(āϝā§āĻŽāύ "āĻšā§āϝāĻžāĻ" āĻŦāĻž "āύāĻž"), āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠āϰā§āĻĄāĻŋāĻ āĻāύāĻĒā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤
Radio â
template
<input type="radio" v-model="pick" :value="first" />
<input type="radio" v-model="pick" :value="second" />
āĻĒā§āϰāĻĨāĻŽ āϰā§āĻĄāĻŋāĻ āĻāύāĻĒā§āĻ āĻā§āĻ āĻāϰāĻž āĻšāϞ⧠pick
first
āĻāϰ āĻŽāĻžāύ āϏā§āĻ āĻāϰāĻž āĻšāĻŦā§ āĻāĻŦāĻ āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧāĻāĻŋ āĻā§āĻ āĻāϰāĻž āĻšāϞ⧠second
āĻāϰ āĻŽāĻžāύ āϏā§āĻ āĻāϰāĻž āĻšāĻŦā§āĨ¤
Select Options â
template
<select v-model="selected">
<!-- inline object literal -->
<option :value="{ number: 123 }">123</option>
</select>
v-model
āύāύ-āϏā§āĻā§āϰāĻŋāĻ āĻŽāĻžāύā§āϰ āĻŽāĻžāύ āĻŦāĻžāĻāύā§āĻĄāĻŋāĻāĻā§āĻ āϏāĻŽāϰā§āĻĨāύ āĻāϰā§! āĻāĻĒāϰā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖā§, āĻŦāĻŋāĻāϞā§āĻĒāĻāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰāĻž āĻšāϞā§, selected
āĻ
āĻŦāĻā§āĻā§āĻā§āϰ āĻāĻā§āώāϰāĻŋāĻ āĻŽāĻžāύ { number: 123 }
-āĻ āϏā§āĻ āĻāϰāĻž āĻšāĻŦā§āĨ¤
Modifiers â
.lazy
â
āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§, v-model
āĻĒā§āϰāϤāĻŋāĻāĻŋ input
āĻāĻā§āύā§āĻā§āϰ āĻĒāϰ⧠āĻĄā§āĻāĻžāϰ āϏāĻžāĻĨā§ āĻāύāĻĒā§āĻāĻā§ āϏāĻŋāĻā§āĻ āĻāϰ⧠(IME āĻāĻŽā§āĻĒā§āĻāĻŋāĻļāύ āĻŦāĻžāĻĻā§ stated above)āĨ¤ āĻāĻĒāύāĻŋ change
events āĻĒāϰ⧠āϏāĻŋāĻā§āĻ āĻāϰāĻžāϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠lazy
āϏāĻāĻļā§āϧāĻ āϝā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ:
template
<!-- synced after "change" instead of "input" -->
<input v-model.lazy="msg" />
.number
â
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻžāύ āϝ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻāύāĻĒā§āĻ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āϏāĻāĻā§āϝāĻž āĻšāĻŋāϏāĻžāĻŦā§ āĻāĻžāĻāĻĒāĻāĻžāϏā§āĻ āĻšā§āĻ, āĻāĻĒāύāĻŋ āĻāĻĒāύāĻžāϰ v-model
āĻĒāϰāĻŋāĻāĻžāϞāĻŋāϤ āĻāύāĻĒā§āĻāĻā§āϞāĻŋāϤ⧠number
āϏāĻāĻļā§āϧāĻ āϝā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ:
template
<input v-model.number="age" />
āϝāĻĻāĻŋ āĻŽāĻžāύāĻāĻŋāĻā§ parseFloat()
āĻĻāĻŋāϝāĻŧā§ āĻĒāĻžāϰā§āϏ āĻāϰāĻž āύāĻž āϝāĻžāϝāĻŧ, āϤāĻžāĻšāϞ⧠āĻāϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠āĻāϏāϞ (āϏā§āĻā§āϰāĻŋāĻ) āĻŽāĻžāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ āĻŦāĻŋāĻļā§āώ āĻāϰā§, āϝāĻĻāĻŋ āĻāύāĻĒā§āĻ āĻāĻžāϞāĻŋ āĻĨāĻžāĻā§ (āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻāύāĻĒā§āĻ āĻā§āώā§āϤā§āϰāĻāĻŋ āϏāĻžāĻĢ āĻāϰāĻžāϰ āĻĒāϰā§), āĻāĻāĻāĻŋ āĻāĻžāϞāĻŋ āϏā§āĻā§āϰāĻŋāĻ āĻĢā§āϰāϤ āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧāĨ¤ āĻāĻ āĻāĻāϰāĻŖāĻāĻŋ DOM āĻĒā§āϰāĻĒāĻžāϰā§āĻāĻŋ valueAsNumber
āĻĨā§āĻā§ āĻāϞāĻžāĻĻāĻžāĨ¤
āϝāĻĻāĻŋ āĻāύāĻĒā§āĻā§ type="number"
āĻĨāĻžāĻā§ āϤāĻžāĻšāϞ⧠number
āϏāĻāĻļā§āϧāĻ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻž āĻšāϝāĻŧāĨ¤
.trim
â
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻāύāĻĒā§āĻ āĻĨā§āĻā§ āĻšā§āϝāĻŧāĻžāĻāĻāϏā§āĻĒā§āϏ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻāĻžāĻāĻāĻžāĻ āĻāϰāϤ⧠āĻāĻžāύ, āϤāĻžāĻšāϞ⧠āĻāĻĒāύāĻŋ āĻāĻĒāύāĻžāϰ v-model
-āĻĒāϰāĻŋāĻāĻžāϞāĻŋāϤ āĻāύāĻĒā§āĻāĻā§āϞāĻŋāϤ⧠trim
āϏāĻāĻļā§āϧāĻ āϝā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ:
template
<input v-model.trim="msg" />
v-model
with Components â
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻāύāĻ Vue āĻāϰ āĻāĻŽā§āĻĒā§āύā§āύā§āĻāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻĒāϰāĻŋāĻāĻŋāϤ āύāĻž āĻšāύ āϤāĻŦā§ āĻāĻĒāύāĻŋ āĻāĻĒāĻžāϤāϤ āĻāĻāĻŋ āĻāĻĄāĻŧāĻŋāϝāĻŧā§ āϝā§āϤ⧠āĻĒāĻžāϰā§āύ⧎
HTML āĻāϰ āĻ
āύā§āϤāϰā§āύāĻŋāϰā§āĻŽāĻŋāϤ āĻāύāĻĒā§āĻ āĻĒā§āϰāĻāĻžāϰāĻā§āϞāĻŋ āϏāϰā§āĻŦāĻĻāĻž āĻāĻĒāύāĻžāϰ āĻāĻžāĻšāĻŋāĻĻāĻž āĻĒā§āϰāĻŖ āĻāϰāĻŦā§ āύāĻžāĨ¤ āĻāĻžāĻā§āϝāĻā§āϰāĻŽā§, Vue āĻāĻŽā§āĻĒā§āύā§āύā§āĻāĻā§āϞāĻŋ āĻāĻĒāύāĻžāĻā§ āϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§ āĻāĻžāϏā§āĻāĻŽāĻžāĻāĻāĻĄ āĻāĻāϰāĻŖā§āϰ āϏāĻžāĻĨā§ āĻĒā§āύāϰāĻžāϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰāϝā§āĻā§āϝ āĻāύāĻĒā§āĻ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĻā§āϝāĻŧāĨ¤ āĻāĻ āĻāύāĻĒā§āĻāĻā§āϞāĻŋ āĻāĻŽāύāĻāĻŋ v-model
āĻāϰ āϏāĻžāĻĨā§āĻ āĻāĻžāĻ āĻāϰā§! āĻāϰāĻ āĻāĻžāύāϤā§, āĻāĻŽā§āĻĒā§āύā§āύā§āĻāϏ āĻāĻžāĻāĻĄā§ v-model
āĻāϰ āϏāĻžāĻĨā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻĒāĻĄāĻŧā§āύāĨ¤
GitHub-āĻ āĻāĻ āĻĒā§āώā§āĻ āĻžāĻāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻāϰā§āύ