Przepraszam, jeśli tutaj już udzielono odpowiedzi, ale nie mogłem znaleźć żadnego dopasowania dla naszego konkretnego scenariusza, więc proszę!
W naszym zespole programistów rozmawialiśmy o wywołaniach funkcji w szablonach kątowych. Zgodnie z ogólną zasadą zgadzamy się, że nie powinieneś tego robić. Próbowaliśmy jednak omówić, kiedy może być w porządku. Pozwól, że dam ci scenariusz.
Załóżmy, że mamy blok szablonu zawarty w ngIf, który sprawdza wiele parametrów, jak tutaj:
<ng-template *ngIf="user && user.name && isAuthorized">
...
</ng-template>
Czy byłaby znacząca różnica w wydajności w porównaniu do czegoś takiego:
Szablon:
<ng-template *ngIf="userCheck()">
...
</ng-template>
Maszynopis:
userCheck(): boolean {
return this.user && this.user.name && this.isAuthorized;
}
Podsumowując pytanie, czy ostatnia opcja miałaby znaczny koszt wydajności?
Wolelibyśmy zastosować drugie podejście w sytuacjach, w których musimy sprawdzić więcej niż 2 warunki, ale wiele artykułów online mówi, że wywołania funkcji ZAWSZE są złe w szablonach, ale czy to naprawdę problem w tym przypadku?