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

274
Vistas
Angular 2: ¿Ignorar el primer desencadenante de ngOnChanges?

¿Hay alguna forma angular 2 de omitir el primer desencadenante de ngOnChanges? Actualmente estoy usando este enfoque ingenuo para ignorarlo:

 isFirst: boolean = true; ngOnChanges(changes: SimpleChanges) { if (this.isFirst) { this.isFirst = false; return; } console.log(changes); }
about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Puedes usar

https://angular.io/docs/ts/latest/api/core/index/SimpleChange-class.html#!#isFirstChange-anchor

 if(changes['prop'].isFirstChange()) { }
about 4 years ago · Santiago Trujillo Denunciar

0

Para agregar a la respuesta anterior y explicar esto un poco más ...

changes es una matriz de objetos que han sido modificados. Entonces, si tiene una entrada myInput , deberá acceder a ese objeto dentro de la matriz de cambios haciendo changes['myInput'] . myInput contiene:

  • previousValue - valor anterior del objeto (antes del cambio)
  • currentValue - valor actual del objeto que ha sido cambiado
  • firstChange : booleano sobre si esta es la primera vez que ha habido un cambio (tenga en cuenta que esto será verdadero cuando el componente se inicialice y falso de lo contrario) - isFirstChange() devolverá verdadero si este es el primer cambio.

Código:

 //your input @Input() myInput: any; ngOnChanges(changes: any) { //check if this isn't the first change of myInput if(!changes['myInput'].isFirstChange()) { //do something } }
about 4 years ago · Santiago Trujillo Denunciar

0

Si tiene muchas entradas, pero no puede saber con certeza cuál de ellas está configurada, puede usar

  • Object.values para recuperar todos los cambios como una matriz
  • Array.some para verificar si alguno de los cambios tiene isFirstChange establecido
 ngOnChanges(changes: SimpleChanges) { const isFirstChange = Object.values(changes).some(c => c.isFirstChange()); }

Cuidado: si no se configura @Input , isFirstChange será false porque Array.some se detiene en el primer valor true .

about 4 years ago · Santiago Trujillo Denunciar
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