Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

319
Visualizações
Cómo obtener el valor anterior cuando el componente ha sido destruido en Angular

Tengo un componente y lo renderizo en ciclo (ngFor) El componente tiene un objeto

 @Input() a = { name: 'Bob' }

Después del cambio, restablecerá sus parámetros de entrada al estado inicial Cuando el componente haya cambiado, quiero obtener los valores que estaban en su inicialización ESCENARIO: -> @Input() a = {name: 'Bob'} (valor inicial) -> luego haz algo... this.a.name = 'Alice' ; -> en el bucle, el objeto cambia -> Una vez más, el componente importa @Input() a = {name: 'Bob'} (valor inicial) Quiero obtener el valor anterior después de que se haya actualizado el componente, es decir, ' Alicia'

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

De la documentación angular :

 ngOnChanges(changes: SimpleChanges) { if(changes.a) { let chng = changes.a; let cur = JSON.stringify(chng.currentValue); let prev = JSON.stringify(chng.previousValue); } }

Por lo tanto, necesitará la propiedad .currentValue y .previousValue para acceder a los valores actuales y anteriores.

Editar: 1

Si el componente se destruye, debe usar algún tipo de administración de estado: servicio con asunto, almacenamiento de sesión, almacenamiento local o algo más

Editar: 2

Puede extender la directiva ngFor y agregar la lógica de estado dentro de ngOnChanges.

 @Directive({ selector: '[ngFor][ngForIn]' }) export class NgForIn extends NgFor implements OnChanges { @Input() ngForIn: any; constructor(viewContainer: ViewContainerRef, template: TemplateRef<NgForRow>, differs: IterableDiffers, cdr: ChangeDetectorRef) { super(viewContainer, template, differs, cdr); } ngOnChanges(changes: SimpleChanges): void { // Do something here } }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda