一般用来收集用户的输入的数据
    使用场景:表单元素上面用来收集用户的数据

    1. <input v-model='name'> //name为data中定义的一个变量

    非表单元素(组件,第三方组件(如vant),自定义的组件) 父子组件数据双向绑定
    父组件中修改数据,会影响子组件
    子组件中修改数据,会影响父组件
    v-model能做的事,我们通过props和$emit来完成(是一个语法糖)
    上下2句代码是等价的 v-model(上面的代码就相当于下面代码的简写形式)
    image.png
    image.png

    也就是表示 v-model=‘值’ 就相当于 :value=’值’ ,
    所以 如果父组件用v-modle传了一个值的话,子组件必须用props接收
    同时必须接收的叫value,(因为是固定的)
    同时v-model 就相当于传递了一个:value=‘值’,监听了一个input(固定的)
    可以理解为 v-model就是 简写形式(:value和input)

    image.png
    父组件用v-model传值 ()子组件就用props接收这个值,在子组件中就是接收(value)值(固定的)
    子组件修改父组件后面v-model的值就用$emit(‘input’,’想修改成的值’)(固定的)
    image.png

    用v-model 子组件修改父组件v-model中传过来的值
    image.png
    v-model 用的少 只不过它的原理是这样(因为v-model传值的时候只能传一个值并且父组件给子组件只能用一个v-model)
    说是固定的input和value其实也能改,在子组件中 通过model 中的event 就可以修改 父组件监听子组件的事件的名字 不叫input 下面举例叫 input 123 ,这个父组件不用动, 就相当于v-model 本来监听input
    现在监听input123 prop 表示 :value ,变成了 :value1 同时父组件啥也不用动 还是v-modle=‘值’
    相当于 监听子组件的input123事件 传递的值 是:value1:“值” 不过能改 但是没必要
    image.png
    就表示v-model监听的是input事件和 :value
    也就是说在父组件中的子组件身上用了v-model 传值,子组件可以用props接收
    image.png