首页 > 试题广场 >

讲讲 v-model 在 Vue23 的语法差异与底层实现

[问答题]
讲讲 v-model 在 Vue2/3 的语法差异与底层实现。
vue2的v-model默认基于value prop和input事件,一个组件只能有一个,功能扩展需依赖.sync修饰符,导致API分裂。 vue3将其升级为modelValue prop和update:modelValue事件,并允许通过v-model:arg的格式绑定多个,彻底取代了.sync,使api统一强大灵活
发表于 2026-02-23 20:59:34 回复(0)
Vue2: v-model 一个组件只有一个v-model 没法多个绑定 Vue3: v-model 一个组件可以有多个v-model 可以双向绑定多个prop 这是这2者认为最大的缺点和不同 底层原理上: Vue2: 默认是 :value @input 默认只有这个input事件,所以还能会与复选框等使用的Value与input事件有命名冲突 Vue3: 默认是 :modelValue @update:modelValue 更为便利 ,且可以自定义事件,自定义命名。 如 :userName @ update: userName 极大便利了编写代码的时间
发表于 2025-11-24 19:09:38 回复(0)