Как бы вы реализовали сохранение частично заполненных форм при навигации между маршрутами?
Например. Пользователь начинает заполнять форму, но решает перейти на другой маршрут и затем go вернуться к исходной форме.
В обычном случае, когда компонент уничтожается, все уже заполненные данные теряются, поэтому мне нужно чтобы как-то сохранить их при выходе из маршрута.
Я ищу универсальное c решение для всех форм в приложении.
Все мои формы имеют:
constructor(private fb: FormBuilder, private router: Router) {
this.form = fb.group({
...
Я попытался создать RouteGuard
, реализующий интерфейс CanDeactivate
.
Это позволило мне подключиться к событию выгрузки компонента, увидеть состояние component.form.pristine
и в конечном итоге сохранить от component.form.value
до localStorage
.
Так что теперь все формы в приложении, использующие эту защиту, сохраняют свои значения в локальном хранилище.
Следующим шагом будет загрузка данных из этого хранилища при создании компонентов, имеющих формы.
Я хочу прикрепить к чему-то, что вызывается для каждого компонента после его конструктора.
Я мог бы использовать средства распознавания, но в своем приложении я не использую их в гене. ral (я предпочитаю, чтобы часть макета была видимой + индикатор прогресса).
Может быть, я мог бы расширить FormBuilder
?
Каков обычный шаблон в этом общем случае?