@skiedr

Как лучше реализовать вложенные формы для одностраничного приложения?

Пусть у нас есть форма (для примера возьмем) Адрес (Страна, Город, ...). При создании адреса нужно сделать возможность создать Страну, Город в отдельной форме (так как там может быть множество полей) и вернуть значение в исходную форму значение продолжить заполнение. При этом этот же процесс может происходить и в формах Страна и Город. Какой паттерн лучше всего подходит в данной задаче. Как это лучше реализовать в рамках Ангуляр.
Я уточню вопрос. На некотором уровне у нас есть сценарий из нескольких шагов. В каждый момент мы можем запустить подсценарий возвращающий результат (для пользователя это может выглядеть как новая форма ввода или поиска). Проблема в том что сценарии вложенные, а также подсценарий добавления чего-либо может быть и сценарием верхнего уровня.

Собственно хочется архитектурное решение для SPA. Для серверного AJAX приложения это реализуется довольно просто с помощью модальных окон. Можно ли в Angular (или Vue) использовать Router для модальных окон.
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 1
@kuftachev
Отличие толстого клиента от всяких хлюпиков в том, что у толстого есть целое состояние, которое он бережно хранит. Как только Вы понимаете это, ответ становится очевидным.

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

С учётом сохранения состояния, дальше можно само представление организовать как угодно, или рендерить разные элементы на одном урле, или сделать роутинг/суброутинг.

P.S. Если пример с городами реальный, то можно вообще взять API карт от Google или Yandex, клиент вводит город и адрес, ему показывается точка на карте, дальше под этой точке получаются полные данные о месте с кучей дополнительной информации, потом может пригодится, хотя и сами данные почтовые сохраняем, которые нужно. В таком случае вообще не нужно будет пользоваться возможностями SPA.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы