# 表单输入绑定
## [基础用法](https://cn.vuejs.org/v2/guide/forms.html#%E5%9F%BA%E7%A1%80%E7%94%A8%E6%B3%95 "基础用法")
你可以用`v-model`指令在表单``、``及``元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇,但`v-model`本质上不过是语法糖。它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。
`v-model`会忽略所有表单元素的`value`、`checked`、`selected`特性的初始值而总是将 Vue 实例的数据作为数据来源。你应该通过 JavaScript 在组件的`data`选项中声明初始值。
`v-model`在内部使用不同的属性为不同的输入元素并抛出不同的事件:
* text 和 textarea 元素使用`value`属性和`input`事件;
* checkbox 和 radio 使用`checked`属性和`change`事件;
* select 字段将`value`作为 prop 并将`change`作为事件。
对于需要使用[输入法](https://zh.wikipedia.org/wiki/%E8%BE%93%E5%85%A5%E6%B3%95)(如中文、日文、韩文等) 的语言,你会发现`v-model`不会在输入法组合文字过程中得到更新。如果你也想处理这个过程,请使用`input`事件。
### [文本](https://cn.vuejs.org/v2/guide/forms.html#%E6%96%87%E6%9C%AC "文本")
~~~
Message is: { { message }}
~~~
Message is:
### [多行文本](https://cn.vuejs.org/v2/guide/forms.html#%E5%A4%9A%E8%A1%8C%E6%96%87%E6%9C%AC "多行文本")
~~~
Multiline message is:
{ { message }}
~~~
Multiline message is:
在文本区域插值 (`{ {te