我在_variables.scss
文件中导入了styles.scss
中定义了3个主题:
我使用根样式表中定义的类将这些主题应用于组件,例如:
.blue-theme {
@include mat-button-theme($my-blue-theme);
@include mat-form-field-theme($my-blue-theme);
@include mat-input-theme($my-blue-theme);
...
}
.green-theme { ... }
.red-theme { ... }
假设我具有以下结构:
- Component A
- Component AA
- Component AB
- Component B
我通过应用相应的类在component A
上动态切换主题。效果很好。
但是当在component A
中绑定主题时,我希望AA和AB也能更改,就像标准的材料组件一样,没有任何服务或无处不在的主题变量策略。>
目前,我想出的唯一解决方案是为每个主题创建一个组件,这绝对是无法维护的。
最好的解决方案是使用mat-color()
或mat-get()
函数,但据我所知,必须使用众所周知的主题来调用它们,当前使用的。
有什么想法吗?