Detección de cambios significa actualizar el DOM cada vez que se modifican los datos. Angular proporciona dos estrategias para la detección de cambios. En su estrategia predeterminada, cada vez que se muta o cambia algún dato, Angular ejecutará el detector de cambios para actualizar el DOM.
¿Cómo detecta Angular la detección de cambios?
Para ejecutar el detector de cambios manualmente:
- Inyectar el servicio ChangeDetectorRef en el componente.
- Use markForCheck en el método de suscripción para indicarle a Angular que verifique el componente la próxima vez que se ejecuten los detectores de cambio.
- En el enlace del ciclo de vida de ngOnDestroy, cancela la suscripción del observable.
¿Qué es el ciclo de detección de cambios en Angular?
Durante la detección de cambios, Angular ejecuta sobre los enlaces, evalúa las expresiones, las compara con los valores anteriores y actualiza el DOM si es necesario. Después de cada ciclo de detección de cambios, Angular ejecuta una verificación para garantizar que el estado del componente esté sincronizado con la interfaz de usuario.
¿Qué es la detección de cambios de Angular onPush?
La estrategia OnPush cambia el comportamiento de detección de cambios de Angular de manera similar a como lo hace la separación de un componente. La detección de cambios ya no se ejecuta automáticamente para cada componente. En cambio, Angular escucha cambios específicos y solo ejecuta la detección de cambios en un subárbol para ese componente.
¿Qué es la estrategia de detección de cambios?
El mecanismo básico de la detección de cambios es pararealice verificaciones contra dos estados, uno es el estado actual, el otro es el nuevo estado. Si uno de estos estados es diferente del otro, entonces algo ha cambiado, lo que significa que debemos actualizar (o volver a renderizar) la vista.