formGroup.get vs formGroup.controls in reactive形式 – Angular

前端之家收集整理的这篇文章主要介绍了formGroup.get vs formGroup.controls in reactive形式 – Angular前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用时选择验证是否有任何首选方法

> myForm.controls [‘name’].有效
> myForm.get(‘name’).有效

因为两者似乎只是在语法上不同,但实现了相同的目标.

<label>Name
  <input type="text" formControlName="name">
</label>
<div class="alert" *ngIf="!myForm.controls['name'].valid && myForm.controls['name'].touched">
  {{ titleAlert }}
</div>

与…一样

<div class="alert" *ngIf="!myForm.get('name').valid && myForm.get('name').touched">
  {{ titleAlert }}
</div>

从我在代码中检查,得到这个代码

AbstractControl.prototype.get = function (path) { return _find(this,path,'.'); };

我刚刚开始使用Angular,所以我们将非常感谢专家意见.

就像你发现的那样,FormGroup.get旨在通过它的路径访问目标formcontrol.并且它更常用于复杂(多层嵌入)情况,这使得从多层嵌入形式获得目标控件变得容易,并且使代码清晰且易于理解.

以下面的例子为例,你可以通过this.form.get(‘test.0’)代替this.form.controls.test.controls [0]来访问嵌入FormArray的第一个元素:

this.form = this.formBuilder.group(
  {
    test: this.formBuilder.array(
      [
        ['form control 1 in form array'],['form control 1 in form array'],...
      ]
    )
  }
);

猜你在找的Angularjs相关文章