1
我有一個簡單的多主題設置,繼material.angular.io guide:獲取從主題調色板顏色與多個主題
@include mat-core();
$dark-primary: mat-palette($mat-orange, 800);
$dark-accent: mat-palette($mat-light-blue, 600, 100, 800);
$dark-warn: mat-palette($mat-red, 600);
$dark-theme: mat-dark-theme($dark-primary, $dark-accent, $dark-warn);
@include angular-material-theme($dark-theme);
$light-primary: mat-palette($mat-teal);
$light-accent: mat-palette($mat-deep-orange);
$light-warn: mat-palette($mat-red);
$light-theme: mat-light-theme($light-primary, $light-accent, $light-warn);
// Light theme class
.light-theme {
@include angular-material-theme($light-theme);
}
然後,我申請了light-theme
類我的根組件,根據存儲在一個布爾locastorage,用開關切換光明/黑暗主題。
問題是我有一些組件使用他們需要從當前主題獲取的顏色。
只有一個主題(假定只有一個是黑暗的一個),這是可以做到使用此:
background: mat-color(map-get($dark-theme, accent));
但隨着多個主題,這是不一致的,因爲它不改變與顏色主題。
如何從多主題應用程序中的當前主題獲取當前背景顏色?