我在Angular 4中尝试嵌套的反应形式.它工作正常但是当我尝试构建AOT时它会抛出错误
‘controls’ does not exist on type ‘AbstractControl’
我用Google搜索并尝试了一些事情,但没有运气.谁能告诉我如何解决这个问题?
<div [formGroup]="myForm"> <div formArrayName="addresses"> <div *ngFor="let address of myForm.get('addresses').controls; let i=index" class="panel panel-default"> <span *ngIf="myForm.get('addresses').length > 1" (click)="removeAddress(i)">Remove</span> <div [formGroupName]="i"> <mat-form-field> <input matInput formControlName="city" placeholder="city" value=""> </mat-form-field> </div> </div> </div> <a (click)="addAddress()" style="cursor: default"> Add +</a> </div>
下面的打字稿代码
constructor(private _fb: FormBuilder) { } ngOnInit() { this.myForm = this._fb.group({ addresses: this._fb.array([ this.initAddress(),]) }); } initAddress() { return this._fb.group({ city: [''] }); } addAddress() { const control = <FormArray>this.myForm.get('addresses'); control.push(this.initAddress()); } removeAddress(i: number) { const control = <FormArray>this.myForm.get('addresses'); control.removeAt(i); }