Rod*_*igo 7 constructor angular2-forms angular
如其他响应所示,Angular2应用程序的初始例程应该在ngOnInit()方法中启动,使构造函数专门用于依赖注入.
但是,在我正在关注的Reactive Forms教程中,表单的初始化在构造函数中:
export class HeroDetailComponent3 {
heroForm: FormGroup; // <--- heroForm is of type FormGroup
constructor(private fb: FormBuilder) { // <--- inject FormBuilder
this.createForm();
}
createForm() {
this.heroForm = this.fb.group({
name: '', // <--- the FormControl called "name"
});
}
}
Run Code Online (Sandbox Code Playgroud)
是真的有重大差异还是只是一个小问题?
Jav*_*ome 15
初始化formGroup
inngOnInit()
并不是一个坏习惯,因为如果您希望使用依赖于(直接或间接)组件@Input()
的值来初始化表单,则实际上需要这样做。
例如:
class SignInFormComponent {
@Input() currentLogin: string;
formGroup: FormGroup;
constructor(private fb: FormBuilder) {
// this.currentLogin is not known yet here
}
ngOnInit(): void {
this.formGroup = this.fb.group({
loginEmail: [this.currentLogin, Validators.email],
loginPassword: [''],
});
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
695 次 |
最近记录: |