26.06.2022 в 00:52
LegGnom
Angular — избегайте вызовов функций в шаблонах
Не рекомендуется писать вызовы функций для вычисления значений внутри шаблонов.
Angular будет запускать вашу функцию в каждом цикле обнаружения изменений (что происходит довольно часто), и если функция сложная, это серьезно повлияет на производительность.
Плохо:
<tr *ngFor="let user of users">
{{ someFunction(user)}}
</tr>
Хорошо:
создать свойство в файле ts и установить для него значение один раз.
this.users = this.users.map(user => ({ ...users, firstname: someFunction(user) });
Лучше:
Angular Pipes . Чистый канал — это канал, который всегда будет возвращать один и тот же вывод для ввода. Angular выполняет чистый канал только тогда, когда обнаруживает чистое изменение входного значения, потому что он уже знает, что канал вернет то же значение для одного и того же ввода.
@Pipe({
name: 'examplepipe',
pure: true
})
export class ExamplePipe implements PipeTransform {
transform(value: any, args?: any): any {
// code here
}
}