Change detection é como o Angular mantém o DOM sincronizado com os dados do componente — após qualquer evento potencialmente mudador de estado, ele verifica os componentes e atualiza a view onde os dados mudaram. Por padrão, essa verificação é ampla; OnPush a restringe para melhor desempenho.
Como a detecção de mudanças padrão funciona
An async event fires (click, HTTP response, setTimeout) →
Zone.js notifies Angular → Angular checks the ENTIRE component tree
top-to-bottom → updates any bindings whose values changed.
Por padrão (estratégia ), o Angular reverifica em cada evento — correto, mas potencialmente desperdiçador em árvores grandes.
