Hi Dan, just a suggestion based on your reply: using two-way data binding, not having an immutable state and not embracing unidirectional data flow is not related to Angular at all, it’s all about how you structure your app.
Of course: using NgModel and services all over your application is doable, Angular allows you. But just because you can, it doesn’t mean you should ;) And just because this is something which is quite “mandatory” in React’s world, it doesn’t mean you can’t take lessons from it and apply them in an Angular application. To me, when I’m writing down a scheme for an app on paper, it makes almost no difference whether I’ll be implementing it with Angular or React (I’m talking about the state).
By the way, this is where the “web components” mindset is slowly taking us: frameworks should be only responsible for passing state from top to bottom. Have you learned some patterns for that? Fine, use them regardless of the framework!
My 2 cents :)