\n\n\n \n \n\n\n\n\n\n\n \n\n```\n\nАльтернатива без сахара — явные props + emits (односторонний поток вниз, события вверх). `v-model` не нарушает one-way data flow: под капотом всё равно prop + emit.\n\nВо Vue 3.4+ есть упрощения вокруг `defineModel()`, которые уменьшают boilerplate child-компонента — можно упомянуть как современный синтаксис. Но классический ответ с `modelValue` + `update:modelValue` всё ещё эталон для собеседований и понимания механизма."}}}
Двустороннее связывание синхронизирует значение между состоянием и элементом формы (или дочерним компонентом). Во Vue для этого используют v-model.
На нативном input это сахар над :value + @input (с нюансами для checkbox/radio/select). На компоненте в Vue 3 по умолчанию: prop modelValue + событие update:modelValue. Можно иметь несколько моделей: v-model:title, v-model:content.
Альтернатива без сахара — явные props + emits (односторонний поток вниз, события вверх). v-model не нарушает one-way data flow: под капотом всё равно prop + emit.
Во Vue 3.4+ есть упрощения вокруг defineModel(), которые уменьшают boilerplate child-компонента — можно упомянуть как современный синтаксис. Но классический ответ с modelValue + update:modelValue всё ещё эталон для собеседований и понимания механизма.
Как реализовать двустороннее связывание во Vue? · Sobeso