使用时选择验证是否有任何首选方法
> 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'],... ] ) } );