
Joseph D. answered 01/22/22
Senior Web Developer and JavaScript expert specializing in Angular
I wouldn't really consider it an "anti-pattern". There are a number of ways to solve the problem. You essentially describe a Stepper form (here's an example from Angular Material: https://material.angular.io/components/stepper/overview).
Angular Material's example is very advanced and there's a lot to it. Essentially the form would be in a parent component and then each form control is inside each "step" in the template. So it reflects your current pattern in some ways.
There's also the consideration of whether or not you're letting the stepper affect the URL (useful for deep-linking and navigation forward and backward). If that were the case I personally would create a service for form and then use that to communicate to each step in the process. Depending on the complexity of your form this might be the most reasonable approach.