Расширяя ответ @ Thatkookooguy
Вы можете создать общую функцию в службе и вызывать ее из каждого компонента, импортируя их в компонент.
import { Injectable } from '@angular/core';
@Injectable()
export class CommonService {
getClassBasedOnKey(key: any) {
if (key < 40) {
return 'red';
} else if (key >= 40 && key < 80) {
return 'yellow';
}
return 'green';
}
}
Теперь импортируем сервис в модуль в провайдере:
@NgModule({
declarations: [ AppComponent ],
imports: [],
providers: [ CommonService],
bootstrap: [AppComponent]
})
И используя его в компоненте и HTML:
import { Component } from '@angular/core';
import { CommonService } from './common.service';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
})
export class AppComponent {
constructor(public _commonService: CommonService) {
}
}
HTML:
<div class="p-a-1 bg-warning" [ngClass]="_commonService.getClassBasedOnKey(40)">
<p>Test</p>
</div>
Надеюсь, это поможет .... Счастливое кодирование !!!