We briefly touched on reactive forms earlier; now let's take a deeper look at these. For complex cases that demand more control over the form, the reactive style comes in handy.
In the template-driven example, we explored building forms with validations to capture email and phone inputs. This was mostly done by using directives such as ngForm and ngModel in the template. In the reactive style, we take a programmatic approach when working with forms.