Для обычного текстового input v-model можно заменить привязкой value и обработчиком input; для компонента Vue 3 — modelValue и update:modelValue.
Как заменить v-model на явную реализацию с тем же двунаправленным связыванием?
Для обычного текстового input v-model можно заменить привязкой value и обработчиком input; для компонента Vue 3 — modelValue и update:modelValue.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для обычного текстового input v-model можно заменить привязкой value и обработчиком input; для компонента Vue 3 — modelValue и update:modelValue.
<input :value="text" @input="text = $event.target.value">
<MyField :model-value="text" @update:model-value="text = $event" />
Это базовые варианты без модификаторов. Checkbox, radio, select, .lazy, .number и .trim имеют дополнительные правила, поэтому одинаковая замена через value/input не воспроизводит все случаи v-model. В Vue 2 контракт компонента по умолчанию иной: value/input.