Я создаю онлайн-конструктор документов, используя angular 4. У меня есть директивы, такие как my-header, my-subheader, которые будут применяться к угловым компонентам, и они управляют свойством CSS компонента, таким как жирный шрифт, размер шрифта и т. Д.
Я хотел бы изменить цвет компонентов, когда пользователь выбирает другую тему для всех компонентов, имеющих директиву my-header, с красного на синий.
Я не знаю, как это возможно в Angular 4.
@Directive({
selector: '[my-header]'
})
export class MyHeaderDirective {
constructor(renderer: Renderer2, hostElement: ElementRef) {
renderer.addClass(hostElement.nativeElement, 'header-class');
}
}
И HTML выглядит так.
<app-element my-header></app-element>
Когда пользователь нажимает кнопку, чтобы сменить тему, мне нужно изменить цвет фона, который я применяю, используя header-класс.Или, если я могу применить CSS с использованием другого класса, это тоже хорошо.Но изменение, вызванное извне любого из этих элементов, должно быть введено во все эти элементы с помощью конкретной директивы.
Любая помощь будет высоко ценится.