Синхронизация данных формы нескольких компонентов при отправке

У меня есть 8 компонентов от шага 1 до шага 8 в аккордеоне, и кнопка сохранения находится в HomeComponent, так что это будет выглядеть так:

 <app-step1></app-step1>
 <app-step2></app-step2>
 <app-step3></app-step3>
 <app-step4></app-step4>
 <app-step5></app-step5>
 <app-step6></app-step6>
 <app-step7></app-step7>
 <app-step8></app-step8>

Я тоже должен сохранять данные формы на кнопку " Далее" в каждом шаге компонента. Я использую реактивные формы.

Моя стратегия:

Я использую сервис ( https://angular.io/docs/ts/latest/cookbook/component-communication.html) для обработки взаимодействия между компонентами.

Каждый компонент отправляет данные формы в HomeComponent при нажатии кнопки сохранения.

Я подсчитываю, сколько шагов отправляю данные формы в HomeComponent, и если количество равно общему количеству формы, я сохраняю данные.

this.formCount++;

if(this.totalFormCount == this.formCount)
{
      if(this.formShouldBeSaved)
      {
        this.formCount = 0;

        return this.save();
      }
      else
      {
        this.openAccordion(this.invalidFormName);
      }
      this.formCount = 0;
}

Так есть ли лучший способ справиться с вышеуказанной ситуацией?

0 ответов

Другие вопросы по тегам