Oi Henrique! Tudo bem?
Que bom que você encontrou uma solução que funcionou para você! No Angular, há várias maneiras de alcançar o mesmo resultado, e a escolha entre elas pode depender de preferências pessoais ou de requisitos específicos do projeto.
No exemplo que você compartilhou, você está usando o ngClass
diretamente na template para alternar entre duas classes CSS com base na validade do formulário. Essa abordagem é direta e fácil de entender, especialmente em casos simples como este.
A abordagem sugerida no curso, que envolve a criação de um método na classe do componente para retornar a classe CSS, pode ser útil quando a lógica de seleção de classes é mais complexa ou quando você deseja reutilizar essa lógica em vários lugares. Por exemplo:
habilitarBotao(): string {
return this.formulario.valid ? 'botao' : 'botao__desabilitado';
}
E no template você usaria:
<button type="submit" [disabled]="formulario.invalid" [ngClass]="habilitarBotao()" (click)="adicionarPensamento()">
Salvar
</button>
Ambas as abordagens são válidas, e a escolha entre uma ou outra pode depender de quão complexa é a lógica de seleção de classes ou de quão reutilizável você deseja que essa lógica seja. Se a lógica for simples e específica para um único caso, como no seu exemplo, o uso direto do ngClass
pode ser perfeitamente adequado.
Espero ter ajudado. Conte com o apoio do fórum :)
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓