vue2中的v-model语法糖

  1. <Son v-model="xxx" />
  2. // 等价于下面的写法
  3. <Son :value="xxx" @input="val => xxx = val" />

vue3中的v-model语法糖

  1. <Son v-model="xxx" />
  2. // 等价于下面的写法
  3. <Son :modelValue="xxx" @updata:modelValue="val => xxx = val" />

区别

vue2中的v-model相当于传递了一个value属性,监听了一个input事件

vue3中的v-model相当于传递了一个modelValue属性,监听了一个updata:modelValue事件

vue2中只能写入一个v-model属性,但是有 .sync 来弥补 ,vue3中可以写入多个v-model属性,但是vue3中移除了 .sync 属性

vue3中的多个v-model

  1. <Son v-model:xxx="yyy" />
  2. //等价于下面
  3. <Son :xxx="yyy" @updata:xxx="val => xxx = val" />