Excessive property drilling and manual event bubbling is problematic but only really commonplace in small projects. It’s recommended to use a pattern like you’ve described leveraging Angular’s dependency injection to utilize services for managing your application state.
Judging from your other comment about Blazor I don’t see anything you can’t do in Angular.
Judging from your other comment about Blazor I don’t see anything you can’t do in Angular.