Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

159
Vistas
¿Por qué la detección de cambios angulares vuelve a renderizar el componente si los datos no cambiaron?

Básicamente, por lo que entiendo, la Detección de cambios angulares volverá a representar el componente si se produce un cambio o, para ser precisos, si ha cambiado una propiedad utilizada en la plantilla. En cualquier otro caso, no volverá a generar (innecesariamente) ese componente si el valor permanece igual.

Aquí está el ejemplo que he hecho, el botón dentro del componente activa el CD. La llamada de ese evento de clic de botón está vacía, por lo que no actualiza ningún valor dentro del componente. Solo esto que se usa en la plantilla es una función captadora que siempre devuelve el mismo valor simple.

Entonces, si el CD comparó el valor anterior y el actual, no hay cambios, entonces, ¿por qué parece que el componente se reprodujo desde que se llamó al registro de la consola dentro de la función getter?

O se me pasó por la cabeza, se llamó a console.log dentro del getter durante la comparación del valor del CD y el componente realmente no se volvió a renderizar.

Aquí está el ejemplo https://angular-playground.stackblitz.io .

 import { ChangeDetectionStrategy } from '@angular/core/src/change_detection/constants'; @Component({ selector: 'my-app', styleUrls: ['./app.component.scss'], templateUrl: './app.component.html', changeDetection: ChangeDetectionStrategy.OnPush }) export class AppComponent { get lastName() { console.log('CD triggered rerender') return 'Boodin'; } buttonClick(){ //does nothing, doesnt set any value! } }
 <p>{{lastName}}</p> <button (click)="buttonClick()">Trigger Change Detection</button>
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda