🔄OnChanges
OnChanges es un hook del ciclo de vida de un componente o directiva en Angular que se invoca cuando Angular reinicializa los datos-bound input properties.
Es ideal para implementar lógicas o acciones cuando los valores de las propiedades de entrada (@Input()) cambian.
Cómo Implementarlo
Importar OnChanges: Primero, necesitas importar OnChanges junto con SimpleChanges desde @angular/core.
import { Component, OnChanges, SimpleChanges } from '@angular/core';Implementar OnChanges: Tu componente o directiva debe implementar la interfaz OnChanges.
@Component({
selector: 'app-mi-componente',
templateUrl: './mi-componente.component.html',
styleUrls: ['./mi-componente.component.css']
})
export class MiComponenteComponent implements OnChanges {
@Input() miPropiedad: any;
ngOnChanges(changes: SimpleChanges): void {
// Lógica aquí
}
}Entendiendo SimpleChanges
¿Qué es
SimpleChanges? Es un objeto que tiene un registro de cambios para cada@Input()propiedad. Para cada propiedad, puedes obtener el valor actual y el valor anterior.Estructura de SimpleChanges: Cada clave en el objeto
SimpleChangescorresponde al nombre de una propiedad@Input(), y el valor asociado es un objeto con las siguientes propiedades:currentValue: el valor actual de la propiedad.previousValue: el valor anterior de la propiedad antes del cambio.firstChange: un booleano que indica si este es el primer cambio del valor de la propiedad desde que se instanció el componente.
Ejemplo Práctico
Precaución con firstChange: Al iniciar el componente, ngOnChanges se dispara una vez por cada @Input() propiedad, incluso antes de ngOnInit. Usa firstChange para distinguir entre la inicialización y cambios subsiguientes.
Última actualización