Я знаю, что из-за стратегии определения угловых изменений добавление функций в компонент HTML менее производительно, так как эта функция будет вызываться для каждого цикла обнаружения изменений.
Но есть ли разница между определением простого сравнения в шаблоне или заданием вместо него свойства компонента в классе и привязкой к нему?
Случай 1:
Шаблон компонента определяет сравнение:
<ng-container *ngFor="let test of testList">
<p *ngIf="test.val > 0">Positive</p>
</ng-container>
Случай 2:
Шаблон компонента привязывается к свойству класса:
<ng-container *ngFor="let test of testList">
<p *ngIf="test.isPositive">Positive</p>
</ng-container>
Компоненткласс предопределяет свойство:
{
@Input() items: any[];
ngOnInit() {
for (let x = 0; x < this.testList.length; x++) {
this.testList[x]['isPositive'] = this.testList[x].val > 0;
}
}
}