Обновить
0
Максим@makseo

Senior Software Developer

Отправить сообщение
Как на счет варианта пойти angular путем и использовать Pipes.
Например, код конкатенации имени и фамилии вынести в следующий pipe.

@Pipe({ name: 'fullName' })
export class FullName implements PipeTransform {
  transform(value: any): string {
    return value.firstName, value.lastName].filter(el => !!el).join(' ');
  }
}


Таким образом решается проблема перегруженности шаблона логикой, повышается читаемость, плюс решается вопрос переиспользования,
ведь pipes можно вынести в SharedModule и использовать по всему приложению.
{{ user | fullName}}



Плюс бросился в глаза следующий фрагмент кода:
<img [src]="userService.getUserAvatar(user.id)">


Вызов функций в шаблонах пагубно сказывается на производительности angular-приложений.
Рекоменую, использовать также pipe + ChangeDetectionStrategy.onPush
Хорошее 5 минутное видео как раз по этому поводу с последней ngconf конференции:
www.youtube.com/watch?v=I6ZvpdRM1eQ

Информация

В рейтинге
Не участвует
Откуда
Bayern, Германия
Зарегистрирован
Активность