Explain NgZone.
01
01
Understand the problem
ngzoneperformance
02
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Stuck? AI Nudge Available
Get a conceptual hint to guide your logic without spoiling the final implementation.
03
03
Study the solution
The solution is waiting
Give it an honest attempt first — then compare your thinking with the full walkthrough.
04
04
Read the code
Run a hot loop outside Angular
import { Component, NgZone } from '@angular/core';
@Component({ selector: 'app-root', standalone: true, template: '{{ fps }} fps' })
export class AppComponent {
fps = 0;
constructor(private zone: NgZone) {
// a rAF loop OUTSIDE Angular → no change detection every frame
this.zone.runOutsideAngular(() => {
const loop = () => { /* heavy per-frame work */ requestAnimationFrame(loop); };
loop();
});
// when you actually need to update the view, re-enter:
setInterval(() => this.zone.run(() => (this.fps = 60)), 1000);
}
}05
05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.