1

我需要从包含基于域的颜色的配置文件中获取调色板。

配置文件是放在项目根目录下的json文件。

在 angular material 1 中,有一种方法可以通过lazy-generate-theme按需生成主题

有什么方法可以在角度 8 的角度材料中做类似的事情吗?

4

1 回答 1

2

要使用多个主题,请查看本指南并生成调色板,我们经常使用这个Material Design Palette Generator,让您可以像这样配置颜色主题,例如:

...material custom theme implementation from guide...  

...

.red-theme {  
  @include angular-material-theme($red-theme);
  @include custom-components-theme($red-theme);
  ....
}  

现在您可以在 body 上使用 .red-theme 类来更改颜色。我发现的最好方法是color-palette: "red-theme"从 APP_INITIALIZER 钩子中的后端 API 中预取一些字符串(它是如何工作的 ref)并通过服务使用它:

your.service.ts   

setColorPalette(colorPalette) {
   const body = document.querySelector('body');
   body.classList.add(colorPalette);
}  
于 2020-10-03T21:42:10.013 回答