Angular FAQ: Top Questions
21. What is the difference between template-driven and reactive forms?
Template-driven forms are declarative and rely on directives in the template, while reactive forms are programmatic and built with form control instances in the component class.
- Template-driven: Suitable for simple forms, uses
NgModel
, less control and unit-testable. - Reactive: Built using
FormGroup
,FormControl
, suitable for complex logic, highly testable.
Template-driven:
<input [(ngModel)]="name" name="name">
Reactive:
this.form = new FormGroup({
name: new FormControl('')
});