У меня есть приложение с Angular 9, использующим Angular Материал, в котором есть 2 темы (темная и светлая). Они определены так в файле style.s css:
$rasd-dark-text-color: mat-palette($mat-grey, 300);
$rasd-light-text-color: mat-palette($mat-grey, 800);
.rasd-dark {
--text-color: #{mat-color($rasd-dark-text-color)};
}
.rasd-light {
--text-color: #{mat-color($rasd-light-text-color)};
}
И чтобы установить тему для приложения, я просто установил ее как класс элемента body:
<body class="mat-typography rasd-dark">
<app-root></app-root>
</body>
У меня есть небольшой компонент Angular, которому нужно будет получить значение из - test-color as Hex color , который зависит от того, какая (темная или светлая тема) наносится на элемент body ).
export class ChartComponent implements OnInit {
textColor: string;
ngOnInit(): void {
// (!!!) How can I set the value for textColor from --test-color in SCSS?
// e.g: after setting, the value of textColor is #001100
}
}