For the record with Angular 2+ two-way binding is greatly deemphasized and not the default behavior. Everyone collectively learned that it’s not great for performance to do thousands of dirty checks a second. React definitely showed the way here. Nowadays you can implement the flux pattern with Angular using NgRx, but if you’re creating simpler things the binding concept is more intuitive. With Angular 9 you can breakpoint debug your template as well, so tooling is definitely catching up here.