如何重写angular2 formArray为AOT建立
问题描述:
我试图编译我的代码AOT编译,但我有我的formArray循环的控制难度如何重写angular2 formArray为AOT建立
<div formArrayName="energyTips">
<h3>Energy Saving Tips</h3>
<div *ngFor="let energyTip of energyTips.controls; index as i" class="panel panel-default">
<md-grid-list cols="12" rowHeight="80px">
<md-grid-tile colspan="12">
<md-input-container>
<input mdInput placeholder="Energy Tip" [formControlName]="i" type="text" required>
<md-error *ngIf="energyTips.at(i).hasError('required')">Please fill the energy saving tip details before adding another one</md-error>
</md-input-container>
<button *ngIf="i == (energyTips.controls.length - 1)" class="circle-buttons" md-fab (click)="addEnergyTip($event,energyTip)" color="primary" [disabled]="energyTips.at(i).hasError('required')"><md-icon>add</md-icon></button><span *ngIf="addGreenScreenForm.controls.energyTips.controls.length > 1"><button class="circle-buttons" md-fab (click)="removeEnergyTip(i)" color="primary"><md-icon>remove</md-icon></button></span>
</md-grid-tile>
</md-grid-list>
</div>
</div>
我不知道我如何可以重写部分如 controls.length
和energyTips.controls
转换为兼容的代码。
答
一些但不限AOT提示:
- 不要键(控制/错误)访问性能。而是通过get(),hasError()方法访问 。
- 把你的控件在功能/在你的类和什么样的属性,你需要 即
get energyTipsLength() {
return this.energyTips.controls.length;
}