Базовая архитектура представляет собой HTML-страницу, отображаемую на стороне сервера, с Vue.js, которая обрабатывает уровень представления некоторых, но не всех страниц сайта. Мы делаем что-то вроде карты Trello или Github. Основная модель данных - это объект «Задача», который имеет различные свойства: статус прогресса , подзадачи и комментарии .
Мы хотим отобразить эти объекты на странице, чтобы пользователь мог создавать и обновлять их и их подчиненные объекты, которые отображаются как отдельные компоненты.
Наша проблема заключается в поиске правильного способа передачи изменений от объектов на внутренний сервер и обратно. Мы используем Axios для общения с нашим бэкэндом (который работает на Django Rest Framework).
Изначально мы внедрили сложную цепочку наблюдателей для отслеживания изменений состояния в приложении, позволяя передавать их через иерархию компонентов Vue в HTTP-методы Axios. Однако, это кажется немного хрупким и, конечно, сложным в обслуживании.
Должны ли мы вместо этого использовать Vuex для управления состоянием приложения?
Или более простой шаблон шины событий , описанный в документации?