Vue 3 中 v-model 绑定对象属性时,为什么子组件修改后父组件没有更新?
最近在做一个后台管理项目时,遇到一个挺典型的问题:父组件把从接口拿到的表单数据对象通过 v-model 传给子组件,子组件里用 props 接收后直接修改了某个字段,但父组件页面上显示的值没变,提交时还是旧数据。一开始以为是响应式丢失,排查后发现是 v-model 在绑定对象属性时的编译行为导致的。Vue 3 的 v-model 在组件上默认展开为 :modelValue 和 @update:modelValue,如果父组件写的是 v-model="form.name",编译结果会尝试给 form.name 赋值,而子组件如果直接修改 props.modelValue,就绕过了 emit,父组...