【发布时间】:2019-06-04 08:09:11
【问题描述】:
我有一个使用 Angular Material 的 Angular 7 项目。我正在使用标准主题之一。我正在尝试控制进度条组件,使其能够根据其值将其设置为将颜色从红色变为绿色。
我能看到控制其颜色的唯一方法是传入primary / accent / warn 之一。
但是,我不想干扰我的主题。我想也许我可以通过创建一个自定义主题来解决这个问题,该主题扩展了我目前使用的主题,例如:
@import '~@angular/material/theming';
@include mat-core();
$candy-app-primary: mat-palette($mat-indigo);
$candy-app-accent: mat-palette($mat-pink, A200, A100, A400);
$candy-app-warn: mat-palette($mat-red);
$candy-app-green: mat-palette($mat-green); // MY CUSTOM NAMED THEME ATTRIBUTE
$candy-app-red: mat-palette($mat-red); // MY CUSTOM NAMED THEME ATTRIBUTE
$candy-app-theme: mat-light-theme($candy-app-primary, $candy-app-accent, $candy-app-warn);
// that you are using.
@include angular-material-theme($candy-app-theme);
然后像这样控制我的组件:
<mat-progress-bar mode="determinate" value="40" color="green"></mat-progress-bar>
我很欣赏进度条似乎不支持任何其他颜色别名,因此不确定我是否可以使这种方法起作用>关于如何实现此结果的任何想法。即,我想更改进度条的颜色,而不会破坏依赖于现有主题的应用程序的其余部分。
【问题讨论】:
标签: angular sass angular-material2