--- title: Vue3 defineModel date: 2026-06-05 --- # 一、概念   defineModel是对 props + emit的语法糖,返回一个可写的 ref。Vu3.4开始支持。   之前的做法: ```ts // 子组件 const props = defineProps({ modelValue: Number }) const emit = defineEmits(['update:modelValue']) function increment() { emit('update:modelValue', props.modelValue + 1) } ```   现在做法: ```ts const model = defineModel() ``` # 二、简单示例   父组件: ```vue ```   子组件: ```vue ```   和`defineProps`定义类似,可以指定类型和默认值。 # 三、多个v-model   父组件: ```vue ```   子组件: ```vue ``` ::: tip defineProps: 只读,不能改 defineModel: 可写 :::