Counter Default CD
Uses ChangeDetectionStrategy.Default. Angular checks this component on every tick, making all sibling OnPush components appear as unnecessary renders (red).
Static Display OnPushWasted ↑
Uses ChangeDetectionStrategy.OnPush but has no inputs that change. Angular still checks it on every parent tick → appears as a red (unnecessary) render in angular-scan.
markForCheck() calls: 0Item List OnPush
Receives an items input. When the parent passes a new array reference each tick (even with same data), Angular checks this component → yellow render. Use trackBy and stable references to fix this.
- Review PR #42
- Write unit tests
- Update angular-scan docs
- Deploy to staging
- Performance audit
Dashboard OnPushEfficient
An OnPush component with signal-driven state. Every 800ms one metric updates. Only the changed metric flashes — the others stay clean. Contrast with the Counter above.