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

597
Visualizações
¿Cómo forzar la representación de un componente en Angular 2?

¿Cómo forzar la representación de un componente en Angular 2? Para propósitos de depuración trabajando con Redux, me gustaría forzar a un componente a volver a renderizar su vista, ¿es eso posible?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

La representación ocurre después de la detección de cambios. Para forzar la detección de cambios, de modo que los valores de propiedad de los componentes que han cambiado se propaguen al DOM (y luego el navegador mostrará esos cambios en la vista), aquí hay algunas opciones:

  • ApplicationRef.tick() - similar a $rootScope.$digest() de Angular 1 -- es decir, verifique el árbol de componentes completo
  • NgZone.run(callback) - similar a $rootScope.$apply(callback) -- es decir, evalúa la función de devolución de llamada dentro de la zona Angular 2. Creo, pero no estoy seguro, que esto termina comprobando el árbol de componentes completo después de ejecutar la función de devolución de llamada.
  • ChangeDetectorRef.detectChanges() - similar a $scope.$digest() -- es decir, verifica solo este componente y sus hijos

Deberá importar y luego inyectar ApplicationRef , NgZone o ChangeDetectorRef en su componente.

Para su escenario particular, recomendaría la última opción si solo ha cambiado un componente.

over 4 years ago · Santiago Trujillo Relatório

0

tx, encontré la solución que necesitaba:

 constructor(private zone:NgZone) { // enable to for time travel this.appStore.subscribe((state) => { this.zone.run(() => { console.log('enabled time travel'); }); });

ejecutar zone.run obligará al componente a volver a renderizarse

over 4 years ago · Santiago Trujillo Relatório

0

Enfoque ChangeDetectorRef

 import { Component, OnInit, ChangeDetectorRef } from '@angular/core'; export class MyComponent { constructor(private cdr: ChangeDetectorRef) { } selected(item: any) { if (item == 'Department') this.isDepartment = true; else this.isDepartment = false; this.cdr.detectChanges(); } }
over 4 years ago · Santiago Trujillo 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