無法像在Angular docs中那樣訪問它,所以必須首先獲取FormGroup實例並在其中找到FormControl實例。我想知道爲什麼?這個例子的工作原理:Angular2/4 - 無法直接訪問FormControl實例。無法讀取未定義的屬性'無效'
<form [formGroup]="myForm" (ngSubmit)="onSubmit()">
<div class="form-group">
<label for="username">Username</label>
<input
type="text"
name="username"
class="form-control"
formControlName="username"
>
<div *ngIf="myForm.controls.username.invalid" class="alert alert-danger">
username is required
</div>
</div>
雖然,這將引發錯誤(僅在* ngIf聲明它們之間的區別):
<form [formGroup]="myForm" (ngSubmit)="onSubmit()">
<div class="form-group">
<label for="username">Username</label>
<input
type="text"
name="username"
class="form-control"
formControlName="username"
>
<div *ngIf="username.invalid" class="alert alert-danger">
username is required
</div>
</div>
無法讀取屬性未定義
形式 '無效' .component:
import {Component} from '@angular/core';
import {FormGroup, FormControl, Validators} from '@angular/forms';
@Component({
selector: 'sign-up',
templateUrl: 'app/sign-up.component.html'
})
export class SignUpComponent {
myForm = new FormGroup({
username: new FormControl('username', Validators.required),
password: new FormControl('', Validators.required),
});
}
好吧......我期待一些更簡單。而它意味着從文檔那個例子是錯的...?https://angular.io/api/forms/FormGroupDirective –
@ FromZeroToHero否,文檔ar e正確。有一個名爲'first'的'get'方法返回FormControl''第一個''。 – developer033
哦,是的,好的。感謝幫助! –