Извините, если на этот вопрос уже был дан ответ, но я не смог найти соответствия для нашего конкретного сценария, так что здесь!
Мы провели обсуждение в нашей команде разработчиков относительно вызовов функций в угловых шаблонах. Теперь, как общее практическое правило, мы согласны, что вы не должны делать это. Тем не менее, мы попытались обсудить, когда это может быть хорошо. Позвольте мне дать вам сценарий.
Допустим, у нас есть блок шаблона, который обернут в ngIf, который проверяет множество параметров, как здесь:
<ng-template *ngIf="user && user.name && isAuthorized">
...
</ng-template>
Будет ли существенная разница в производительности по сравнению с чем-то вроде этого:
Шаблон:
<ng-template *ngIf="userCheck()">
...
</ng-template>
Машинопись:
userCheck(): boolean {
return this.user && this.user.name && this.isAuthorized;
}
Итак, чтобы подвести итог вопроса, будет ли последний вариант иметь какие-либо существенные затраты производительности?
Мы предпочли бы использовать второй подход, в ситуациях, когда нам нужно проверить более двух условий, но многие статьи онлайн говорят, что вызовы функций ВСЕГДА плохи в шаблонах, но действительно ли это проблема в этом случае?