У нас рекурсивный компонент написан на v-model с vue-nestable, для реактивного обновления данных. Сейчас возникла проблема, с тем, что нужно подключить localStorage и заносить последние изменения туда, для хранения версий, а триггер обновления висит на watch с флагом deep. Соответственно проблема в том, что когда мы изменяем что-либо внутри компонента у нас рекурсивно обновляется сперва ребёнок, а затем родитель и получается, что в зависимости от вложенности у нас происходит 3-4 пуша одинаковых изменений в localStorage, что не комильфо. Видимо придётся переписывать компонент так, чтобы обновлял данные только родитель сверху и вот вопрос - как это правильно сделать и какой концепцией руководствоваться?
у тебя каждый ребенок хранит локально одни и те же данные?
в каком плане "одни и те же данные"?
ты написал, что хочешь чтобы только родитель обновлял данные, из чего следует, что сейчас дочерние компоненты тоже обновляют что-то
а, да, верно. Там по цепочке - сперва обновляет ребёнок, потом данные идут в родителя и так на самый верх
вот у ребенка не должно быть никакого состояния, он должен только переслать событие с новыми данными
а как мы будем понимать как именно расположить данные внутри основного компонента?
ну то есть, мы в ребёнке храним вообще всё состояние всего компонента и его отправляем вверх, или мы в главном компоненте храним все данные? И если второе, то как мы обновим данные на основе того, что присылает ребёнок? И я так понимаю, тут проще использовать provide/inject чтобы триггерить изменения
мы в ребенке вообще не храним состояние, он просто получает пропсы и отправляет события
Обсуждают сегодня