Я вижу три возможных решения:
1) Создайте класс для расширения
export class MyNgClass {
ngClassHandler() {}
}
, а затем расширьте его в тех компонентах, которые вам нужны для повторного использования метода
export class MyComponent extends MyNgClass {}
2) Создайте экспортированную функцию, а затем сохраните ссылку на нее в компоненте
export function ngClassHandler() {}
export class MyComponent {
handler = ngClassHandler;
}
3) Используйте канал
@Pipe({
name: 'myPipe'
})
export class MyPipe implements PipeTransform {
transform(data: any): any {
// place your logic here
}
}
Затем используйте его в шаблоне компонента
<div [ngClass]="data | myPipe"></div>
В этом подходе, если вы полагаетесь на состояние приложения, вы должны явно указать Angular, что этот канал нечистый .
ИМХО канал предпочтительнее. И если он чистый (опирается только на предоставленные данные и на него не влияет состояние приложения), то это событие более эффективное.