Desculpe se isso já foi respondido aqui, mas não encontrei nenhuma correspondência para o nosso cenário específico, então aqui vai!
Tivemos uma discussão em nossa equipe de desenvolvimento, sobre chamadas de função em modelos angulares. Agora, como regra geral, concordamos que você não deve fazer isso. No entanto, tentamos discutir quando pode estar tudo bem. Deixe-me dar um cenário.
Digamos que temos um bloco de modelo envolvido em um ngIf, que verifica vários parâmetros, como aqui:
<ng-template *ngIf="user && user.name && isAuthorized">
...
</ng-template>
Haveria uma diferença significativa no desempenho em comparação com algo como isto:
Modelo:
<ng-template *ngIf="userCheck()">
...
</ng-template>
Texto datilografado:
userCheck(): boolean {
return this.user && this.user.name && this.isAuthorized;
}
Então, para resumir a pergunta, a última opção teria algum custo de desempenho significativo?
Preferimos usar a segunda abordagem, em situações em que precisamos verificar mais de duas condições, mas muitos artigos online dizem que as chamadas de funções SEMPRE são ruins nos modelos, mas será realmente um problema nesse caso?