Вопрос по архитектуре приложений с Vue.js. Как правильнее?

Есть у меня один большой компонент, состоящий из кучи маленьких компонентов. Этот компонент передает какие-то исходные данные дочерним компонентам. Дочерние компоненты разгребают эти данные и отрисовываются как мне надо. Ели мне что-то нужно поменять в дочерних элементах, они генерируют события, основной компонент их ловит, изменяет исходные данные и дочерние перерисовываются.
Беда в том, что дочерние компоненты генерят много разных событий, и я уже начинаю путаться во всех обработчиках основного компонента. Уже несколько страниц одних только обработчиков. Начинаю подозревать что делаю что-то не так. Может эти обработчики можно куда-то в отдельные файлы вынести? Как лучше код структурировать во Vuejs? Может есть какие-то бест-практисы? Официальную доку я уже всю прочитал
  • Вопрос задан
  • 3355 просмотров
Решения вопроса 1
kulakoff
@kulakoff Куратор тега Vue.js
Vue.js developing
Напишу свои мысли:

У ваc скорее всего уже используется vuex для хранения состояния. Если нет, то стоит начать.

У вас получается есть сложный компонент, который является по сути агрегатором других компонентов.
Пусть данные компоненты получают и отправляют информацию взаимодействуя с хранилищем, а не с родительским компонентом. Так вы избавитесь от большого количества обработчиков.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
ozknemoy
@ozknemoy
яваскриптист
базовая структура есть тут https://github.com/vuejs/vue-hackernews-2.0 от нее и следует отталкиваться. и уже какие то свои штрихи добавлять по мере появления опыта
Ответ написан
Fragster
@Fragster
помогло? отметь решением!
vuex + деление его на модули пробовали?
Ответ написан
@lega
Если у вас большая взаимосвязь между двумя компонентами, то возможно это должен быть один комонент, приложение неправильно "нарезано" на компоненты.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы