Explain the ngOnChanges hook, SimpleChanges parameter, and its execution order.
01
01
Understand the problem
lifecycleinputs
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
Capturing input changes with ngOnChanges
import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';
@Component({
selector: 'app-user-detail',
standalone: true,
template: '<p>User: {{ userId }} (Total changes: {{ changeCount }})</p>'
})
export class UserDetailComponent implements OnChanges {
@Input() userId!: number;
changeCount = 0;
ngOnChanges(changes: SimpleChanges) {
if (changes['userId']) {
const current = changes['userId'].currentValue;
const previous = changes['userId'].previousValue;
console.log('userId changed from ' + previous + ' to ' + current);
this.changeCount++;
}
}
}05
05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.