Пример того, как можно сломать реактивность при помощи мутации свойств объектов: App.vue `import { ref } from 'vue' import WrapComp from './WrapComp.vue'; import WrapGoodComp from './WrapGoodComp.vue'; const data = ref({a: '', b: ''}); const realUpdate = ref(false); const updated = () => realUpdate.value = true;

Реактивность немного сломана через неявную мутацию пропов объекта

Реактивность работает нормально

{{ data }}

Реактивность сработала: {{ realUpdate }}

InputComp.vue `const model = defineModel();

WrapComp.vue `import InputComp from './InputComp.vue'; const model = defineModel();

WrapGoodComp.vue `import InputComp from './InputComp.vue'; const model = defineModel();

Из-за того, что во WrapComp.vue мы используем в качестве вложенных моделей свойства объекта - они нормально обновляются, но emit изменения всей модели не происходит. Когда это может сломать поведение? Например, если использовать библиотеки валидации. Они следят за свойством, но без deep: true. А изменения конкретно модели тут не происходит, только его вложенных свойств.````