Skip to content

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 āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϗ⧁āϞāĻŋāϕ⧇ āωāĻĒ⧇āĻ•ā§āώāĻž āĻ•āϰāĻŦ⧇āĨ¤ āĻāϟāĻŋ āϏāĻ°ā§āĻŦāĻĻāĻž āĻŦāĻ°ā§āϤāĻŽāĻžāύ āφāĻŦāĻĻā§āϧ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāϕ⧇ āϏāĻ¤ā§āϝ⧇āϰ āĻ‰ā§ŽāϏ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰāĻŦ⧇āĨ¤ āφāĻĒāύāĻŋ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻĒāĻžāĻļ⧇ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ• āĻŽāĻžāύ āĻ˜ā§‹āώāĻŖāĻž āĻ•āϰāĻž āωāϚāĻŋāϤ, āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇data āĻ…āĻĒāĻļāύ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([])
js
export default {
  data() {
    return {
      checkedNames: []
    }
  }
}
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' }
])
js
export default {
  data() {
    return {
      selected: 'A',
      options: [
        { 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 āĻāϰ āϏāĻžāĻĨ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻĒāĻĄāĻŧ⧁āύāĨ¤

Form Input Bindings has loaded