持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第24天,点击查看活动详情juejin.cn/post/714765…
v-model直接使用v2和v3没有什么区别,只是在组件上使用的话进行了修改。
- v2和v3里面v-model监听的表单事件如下,也就是具体是谁和谁的语法糖:
- 如果表单元素是checkbox和radio绑定的是checked属性和onchange事件。
- 如果有多个复选框,那么data中的数据定义成数组,如果只有一个复选框,应定义成布尔值
- select中绑定的是value和change事件。
- 使用了v-model的话,表单的value、checked、select的默认值就不生效了。
checkbox复选框
true-value和false-value属性只能配合v-model使用。
- 只有一个复选框时,data里的数据绑定状态是个布尔值,如果添加了这两个属性,会把布尔值的true转换为true-value设置的值;false转换为false-value的值
- 选中复选框就把
data中togagl中的值true改为"yes",没选中,就让toggal的值为"no"。
也可以动态的设置toggle的值。
v-model的修饰符
.lazy把v-model转为change事件.number利用parseFloat()方法把input的value改为number类型,转化不成功原样输出。.trim去掉input里的空格
组件上使用v-model
- 在Vue3中子组件照常添加
v-model指令,依然是在子组件里注册props,只不过子组件注册props,值由'value'改成了'modelValue',并且需要在viewModel添加emtis事件验证属性,值为数组,成员是'update:modelValue',给input照常绑定@input事件,在该事件里调用this.$emit()方法,它里面的自定义事件设置为'update:modelValue'。 - 注意:不是给input标记添加v-model了,而是设置动态value属性,值为props里的modelValue的
- Vue2组件中使用v-model参考juejin.cn/post/[71512…](url)