> ## Content Index
> Fetch the complete content index at: https://danielbarta.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Misconceptions of Angular Change Detection
- URL: https://danielbarta.com/onpush-change-detection-there-is-more-that-meets-the-eye/
- Published: 2021-11-22T14:00:00.000Z
- Updated: 2026-07-30T19:49:41.000Z
- Author: Daniel Barta
- Tags: Angular, #Import 2023-04-16 20:09, #Import 2026-10-23 10:14

When an Angular application's performance decreases, I go through a simple and easy checklist of my own. Checking loose subscriptions, trackBy functions of in-template iterations, and change detection among others. Especially the latter had been mentioned in all the articles, webinars, and conferences, but since they usually don't dive deep, some details are often misunderstood.

![](https://danielbarta.com/content/images/2021/11/732-3.jpg)

Here are two things I missed from the documentation.

## ❌ Default change detection makes a deep check on Inputs

Practically it is not far from the truth, but it is a little smarter than that. [An article by the Angular University ](https://blog.angular-university.io/how-does-angular-2-change-detection-really-work/?ref=danielbarta.com)states

> by default, Angular does not do deep object comparison to detect changes, it only takes into account properties used by the template.

## ❌ OnPush change detection triggers only on input reference change

As per Victor Savkin, one of the lead developers of Angular

> *when using OnPush detectors, then the framework will check an OnPush component when any of its input properties changes, when it fires an event, or when an Observable fires an event.*