Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Converter *ngFor para @for // *nfIf para @if?

Estou nessa parte da aula e, como estou usando a versão mais recente do Angular, está dando erro e dizendo que o ngFor foi descontinuado e que eu preciso usar o @for:

<section class="container">
  <header class="header d-flex">
    <h2 class="ff-inter">Meu Mural</h2>
    <button routerLink="/criarPensamento" class="botao">Adicionar pensamento</button>
  </header>
  <div class="mural" *ngIf="listaPensamentos.length > 0, else semPensamentos">
    <div *ngFor="let pensamento of listaPensamentos">
      <app-pensamento [pensamento]="pensamento"></app-pensamento>
    </div>
  </div>
</section>
<ng-template #semPensamentos>
  <div class="ff-inter sem-pensamentos">
    <p>Ainda não há pensamentos cadastrados!</p>
  </div>
</ng-template>

Como converter esse trecho sem dar mais bug do que já está e qual a sintaxe correta, por gentileza?

Valeu, galera!

2 respostas
solução!

Bom, eu mesmo criei o tópico e eu mesmo achei a solução:

Basta dar o comando

ng generate @angular/core:control-flow

Daí vão aparecer as opções:

 Which path in your project should be migrated? 
 Should the migration reformat your templates?

Então basta indicar o caminho do projeto que você quer migrar e se gostaria que formatassem o arquivo, é só dizer YES!

✔ Which path in your project should be migrated? ./
✔ Should the migration reformat your templates? Yes

Pronto, não foi muito fácil encontrar, mas funcionou!

Oi, Leandro, tudo bem?

Que incrível que você não só encontrou a solução, mas também a compartilhou aqui no fórum! Sua iniciativa de usar o ng generate @angular/core:control-flow para migrar a sintaxe é uma dica excelente e com certeza vai ajudar outros alunos que estão utilizando versões mais recentes do Angular.

Essa proatividade em pesquisar e resolver o problema é uma habilidade muito valiosa para um desenvolvedor.

Parabéns pelo empenho e por contribuir com a comunidade!

Bons estudos!

Sucesso

Imagem da comunidade