如何重写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.lengthenergyTips.controls转换为兼容的代码。

一些但不限AOT提示:

  • 不要键(控制/错误)访问性能。而是通过get(),hasError()方法访问 。
  • 把你的控件在功能/在你的类和什么样的属性,你需要 即
get energyTipsLength() { 
    return this.energyTips.controls.length; 
}