Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

ExpressionChangedAfterItHasBeenCheckedError

Bom dia. Tentei utilizar essa estratégia para criar um componente em um projeto particular, porém frequentemente me deparo com o erro "ExpressionChangedAfterItHasBeenCheckedError". O que posso ter feito errado? O componente basicamente está escrito assim:

<div [ngClass]="loadingClass">
  <p-progressBar mode="indeterminate" [style]="{'height': '6px'}"></p-progressBar>
</div>

O restante do componente está praticamente igual ao que foi demonstrado na aula.

3 respostas
solução

Fala ai Luiz, tudo bem? Esse problema pode ocorrer por N motivos, vamos a alguns:

  • Você está executando algum código dentro do ngAfterViewInit que mexe com o ViewChild.
  • Você está manipulando o DOM diretamente.
  • Você está chamando funções no HTML causando uma race condition.
  • Sua expressão no HTML tem mudado depois que o checou ela.
  • etc...

Tente dar uma olhada em alguns desses pontos.

Caso não consiga encontrar o problema, compartilha o projeto comigo que eu dou uma olhada por aqui.

Pode compartilhar através do Github ou Google Drive (zipado).

Espero ter ajudado.

Obrigado pela resposta Matheus, vi novamente os códigos e encontrei o problema! ;D

Boa Luiz, fico feliz que tenha resolvido o problema.

Quando for assim se possível poste a solução para a gente, ou seja, como estava seu código e como deveria estar após a correção.

Abraços e bons estudos.