直接访问 FormControl 元素而不是使用 form.get

Sam*_*mmy 5 angular angular-reactive-forms

在 a 中给出以下代码片段FormGroup

<input type="email" class="form-control form-control-lg" formControlName="email" placeholder="email">

无论如何,我是否可以使用引用变量(例如)而不是使用来访问模板中此输入的值(而不是从 .ts 文件中),form.get('email')...这会有什么优点吗?

dev*_*033 0

您可以在文件中创建引用component

group: FormGroup;
emailCtrl: FormControl;
// other controls

ngOnInit() {
  this.emailCtrl = this.formBuilder.control(
    '',
    [
      Validators.required,
      Validators.email
    ]);

  this.group = this.formBuilder.group({
    email: this.emailCtrl
    // other controls
  });
}
Run Code Online (Sandbox Code Playgroud)

所以,在模板中:

<form novalidate [formGroup]="group">
  <input type="email" placeholder="email" [formControl]="emailCtrl">
  email value = {{emailCtrl.value}}
</form>
Run Code Online (Sandbox Code Playgroud)

演示版