Angular uses two-way data binding to ensure that the data model and the view are always in sync. When a user updates data in a model that is presented in many locations in a component, for example, that update should be reflected in all of those places.
For a long time, Angular has allowed two-way data binding. It is, however, something that should be utilized with caution, since it may result in poor application performance or performance degradation over time. We call it two-way data binding because we can update data in the component model from an HTML view, and that change will propagate to all other places in the view where it is presented.