在提交时同步多个组件的表单数据

时间:2017-05-18 12:10:37

标签: angular rxjs angular-services angular-components

我手风琴从步骤1到步骤8有 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#!#bidirectional-service)来处理组件之间的通信。

点击保存按钮后,每个组件都会将表单数据发送到HomeComponent。

基本上我计算将表单数据发送到HomeComponent的步数,如果count等于总表单数,那么我将保存数据。

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 个答案:

没有答案