Я сталкивался с этой проблемой ранее, многократно используя компонент в приложении и привязывая к нему некоторую конфигурацию, а при изменении какой-либо конфигурации вы должны просмотреть все приложения и отредактировать их.
Я решаю это с помощью интерфейса, в вашем случае «NgLoadingConfigInterface»:
export interface NgLoadingConfigInterface {
threshold: 2000,
timeout: 4000,
zIndex: 9999,
}
в этом интерфейсе вы устанавливаете общие атрибуты для всего приложения.
всякий раз, когда вы используете компонент «Ng4-loading», вы будете реализовывать этот интерфейс следующим образом:
@Component({
...
})
export class SomeComponent implements NgLoadingConfigInterface {
....
}
в шаблоне просто свяжите атрибут компонента Ng4-loading с атрибутами из интерфейса.
<ng4-loading-spinner [threshold]="threshold" [timeout]="timeout" [zIndex]="zIndex">
<ng4-loading-spinner>
таким образом, вы просто обновите значения в интерфейсе, и это отразится на всем приложении.
другое решение заключается в инкапсуляции компонента в другом компоненте, таким образом вы передадите атрибуты, которые необходимо изменить, как @Input