У меня есть 2 настраиваемые темы для моего приложения, которые я могу переключать уже во время выполнения. Таким образом, они определяют в файле theme.scss цвета для основного, акцентного и предупредительного. Таким образом, я могу использовать эти цвета темы для стандартных компонентов материала, которые принимают такой цвет в HTML.
У меня вопрос: как я могу использовать эти цвета в файлах .scss моих пользовательских компонентов? Например, мой цвет шрифта или цвет фона должен измениться при изменении темы?
На данный момент это мой файл theme.scss:
@import "~@angular/material/theming";
@include mat-core();
$primary: mat-palette($mat-yellow);
$accent: mat-palette($mat-pink);
$warn: mat-palette($mat-red);
$light-theme: mat-light-theme(
$primary,
$accent,
$warn
);
@include angular-material-theme($light-theme);
$dark-primary: mat-palette($mat-blue);
$dark-accent: mat-palette($mat-green);
$dark-warn: mat-palette($mat-orange);
$dark-theme: mat-dark-theme(
$dark-primary,
$dark-accent,
$dark-warn
);
.dark-theme {
color: $light-primary-text;
@include angular-material-theme($dark-theme);
}
Класс css .dark-theme накладывается на компонент приложения во время выполнения, чтобы переключить тему.
Но как мне теперь сделать что-то вроде:
MyComponent.scss
:host {
background-color: primary;
}
Был бы очень признателен за любую помощь в этом, спасибо! :)