### v-model机制详解
我们都知道vue的双向数据绑定,当你改变它的值时,视图层就跟着变化。
```vue
```
其实它只是语法糖,主要是通过input事件来触发input标签value值来实现我们说的“双向数据绑定”,其实它还是单向数据流。上面的实际相当于
```vue
$emit('input', v)/>
```
#### 在自定义组件中使用v-model的几种方法
我们在封装输入框input、下拉选择select、单选多选radio等多会使用到自定义v-model功能。下面介绍几种常用方法的使用:
**1. prop + $emit**
搞过vue开发的同志们都知道我们经常用prop 和 $emit进行组件间通信,这方面不在本文具体阐述,详细请自行到[cn.vuejs.org]()了解
```vue
```
**2. prop + $emit + model选项**
```vue
```
**3. prop + $emit + computed**
```vue
```
三种方式则在父组件中使用
```vue
```
有什么不对的地方欢迎批评指正。