передает в него через v-model массив объектов. Компонент В в себе в цикле рендерит компонент С и в каждый через v-model передает свойства объекта. Компонент B может добавлять и удалять объекты. Компонент С редактирует сам объект.
И вот когда компонент С изменяет объект и эмитит событие, он же по факту редактирует объекты которые лежат в компоненте А, т.е минуя компонент В.
Насколько это хорошо или плохо? И если это плохо, то получается нам нужно в компонент В делать глубокую копию массива объектов, следить за его изменением и эмитить наверх
Пример https://codesandbox.io/s/sparkling-tree-dq61u?file=/src/components/ComponentA.vue
Это печально. На каждом уровне заводи свой отдельный стейт и рули им. А то потом от этих сайд-эффектов с ума сойдешь )
Это плохо. по факту это перезапись пропса - что плохо.
Обсуждают сегодня