I have a dynamic form where I can add more elements.
<form [formGroup]="_formWorkout">
<div *ngIf="_id>0">
<!--workouts-->
<div formArrayName="workouts">
<div *ngFor="let workout of _formWorkout.controls.workouts.controls; let i=index" class="panel panel-default">
<div class="panel-heading">
<span>Workout {{i + 1}}</span>
<span class="glyphicon glyphicon-remove pull-right" *ngIf="_formWorkout.controls.workouts.controls.length > 1" (click)="removeWorkout(i)">x</span>
</div>
<div class="panel-body" [formGroupName]="i">
<div class="form-group">
<label>name {{workout |json}}</label>
<input type="text" class="form-control" formControlName="name">
<app-field-error-display [displayError]="formValidationService.IsFieldInvalid(_formWorkout,['workouts', i, 'name'],'required')"
errorMsg="Field is required"></app-field-error-display>
</div>
<div class="form-group">
<label>description</label>
<input type="text" class="form-control" formControlName="description">
<app-field-error-display [displayError]="formValidationService.IsFieldInvalid(_formWorkout,['workouts', i, 'description'],'required')"
errorMsg="Field is required"></app-field-error-display>
</div>
<div class="form-group">
<a (click)="kempe(workout)" style="cursor: default">
Save
</a>
<button (click)="kempe(workout)" class="btn btn-primary">{{_submitButtonText}}</button>
</div>
</div>
</div>
</div>
<div class="margin-20">
<a (click)="addWorkout()" style="cursor: default">
Add another workout +
</a>
</div>
</div>
</form>
This is form in component:
this._formWorkout = this._formBuilderWorkout.group({
workouts: this._formBuilder.array([
])
});
I don't have luck accessing workout element inside of *ngFor and the way to pass model workout to kempe function.
I want to save workout element for each. As you can see how can I pass each element for itself to api instead of all collection:
