等待Angular 2在渲染视图/模板之前加载/解析FormBuilder / ControlGroups

时间:2016-06-23 09:32:19

标签: angular angular2-forms

有没有办法让Angular2等到FormBuilder及其元素(及其关联的默认值)在渲染模板之前加载?

目前我的表格中有以下内容

<form (ngSubmit)="submitFees()" [ngFormModel]="FeeForm">
    <div class="form-group row">
      <div class="col-sm-12">
        <input type="number" id="Fees" class="form-control"
        placeholder="Fee" required
       [ngFormControl]="FeeForm.controls['ContentFee']"
        [(ngModel)]="Fee">
      </div>
     Fee: {{postFee*1.2| number:'1.2-2'}}
  </div>
</form>

并在我的构造函数中:

constructor(){
    let fb = new FormBuilder();
    this.FeeForm = fb.group({
        ContentFee: ['0', Validators.required]
    });
}

然而,在页面加载时,在我编辑费用之前,该值显示为NaN,理想情况下我希望它在页面加载时显示其默认值(0.00)。

我将如何做到这一点?

修改

我注意到如果用户[(ngModel)]不再提供FormBuilder的默认值(当我尝试提交一个空白表单并记录FeeForm.value时,我得到了未定义)。这附近有吗?

1 个答案:

答案 0 :(得分:0)

看起来你在RC1中使用了已弃用的表单,我知道这适用于RC2 +中的新表单

如果组件中有字段费用,则可以在构造函数中设置表单的初始值。

constructor(){
    this.Fee = 0 // This will show up as the default value 
    let fb = new FormBuilder();
    this.FeeForm = fb.group({
        ContentFee: ['0', Validators.required] // Value not used
    });
}