Я создаю тематическое приложение Angular2. У меня есть множество вложенных компонентов, и я хотел бы изменить тему для всего приложения, изменив один родительский класс. Допустим, одна тема называется "theme1". Когда я применяю это к самому родительскому html-тегу, все вложенные дочерние компоненты будут переключать стиль с помощью: host-context, например так:
:host-context(.theme1) .title-toc {
font-family: "bookmania";
font-weight: 700;
font-size: 20pt;
text-transform: uppercase;
color: #a5a5a5;
}
Однако, куда поместить этот класс = "theme1"? Когда я установил его на <body>
, он работал так, что сам код работает, но мне нужно динамически менять тему, чтобы она находилась внутри некоторого компонента Angular, где я могу использовать [ngClass]
. Например, внутри AppComponent. Но когда я поместил его в app.component (например, router-outlet или любой другой тег обертки, который должен обернуть все мое приложение), он больше не работал.
Нужно ли как-то углубляться в :: ng-deep или что может быть не так?