Шаблон дизайна для приложения Vue с бэкэндом REST API - PullRequest
0 голосов
/ 10 мая 2018

Базовая архитектура представляет собой HTML-страницу, отображаемую на стороне сервера, с Vue.js, которая обрабатывает уровень представления некоторых, но не всех страниц сайта. Мы делаем что-то вроде карты Trello или Github. Основная модель данных - это объект «Задача», который имеет различные свойства: статус прогресса , подзадачи и комментарии .

Example of a 'task' object

Мы хотим отобразить эти объекты на странице, чтобы пользователь мог создавать и обновлять их и их подчиненные объекты, которые отображаются как отдельные компоненты.

Наша проблема заключается в поиске правильного способа передачи изменений от объектов на внутренний сервер и обратно. Мы используем Axios для общения с нашим бэкэндом (который работает на Django Rest Framework).

Изначально мы внедрили сложную цепочку наблюдателей для отслеживания изменений состояния в приложении, позволяя передавать их через иерархию компонентов Vue в HTTP-методы Axios. Однако, это кажется немного хрупким и, конечно, сложным в обслуживании.

Должны ли мы вместо этого использовать Vuex для управления состоянием приложения? Или более простой шаблон шины событий , описанный в документации?

1 Ответ

0 голосов
/ 10 мая 2018

Ваша идея со сложной цепочкой наблюдателей абсолютно опасна для масштабирования приложения.Будет много проблем с поддержанием всех выбросов, особенно когда кто-то новый будет в проекте.Вы должны сохранить все состояния, которые влияют на приложения в Vuex, это очень просто реализовать, и это даст вам большие преимущества в будущем.

...