In this tutorial, learn how to Write Tests for Components With OnPush Change Detection in Angular
The Angular framework does a lot under the hood to detect changes and update the UI accordingly. Similarly to other frameworks like React or Vue.js, Angular supports data binding to always show the latest data.
While Angular is already a fast framework, we can always improve things. One improvement idea is to reduce the amount of change detection work to keep the UI as smooth as possible. For Angular components, there are two change detection strategies available:
Defaultuses the default
CheckAlwaysstrategy in which change detection is automatic until explicitly deactivated. If you don’t specify a strategy, then this will be used.
CheckOncestrategy, meaning that automatic change detection is deactivated until reactivated by setting the strategy to
Default. Change detection can still be explicitly invoked by using ChangeDetectorRef.
OnPush change detection strategy is a good choice for dumb components that typically: