2017-05-08 67 views
2

考慮下面的代碼片段一個FormGroup內:訪問FormControl元素,而不是直接使用form.get

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

反正是有,我可以在模板中使用此輸入的值(不從。 ts文件)使用參考變量(例如),而不是使用form.get('email')...,會有什麼好處嗎?

回答

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 
    }); 
} 

所以,在模板:

<form novalidate [formGroup]="group"> 
    <input type="email" placeholder="email" [formControl]="emailCtrl"> 
    email value = {{emailCtrl.value}} 
</form> 

DEMO

+0

謝謝,我希望我可以在引用該組件直接使用'formControlName'或其他屬性的模板,但不必在我的組件中爲它創建一個屬性。 – Sammy

相關問題