看一看demo-app
例如https://github.com/angular/material2/tree/master/src/demo-app/progress-spinner
您需要綁定到[color]
財產。
然後在您的代碼中,您可以根據您的百分比值保留根據需要動態更改顏色的邏輯。 e.g:
模板:
<md-progress-spinner
class="number"
mode="determinate"
[value]="today?.MemorizationPercent"
[color]="getColor(today?.MemorizationPercent)">
</md-progress-spinner>
功能getColor()
樣本:
getColor(percentage) {
return percentage > 50 ? '_red_' : '_green_';
}
你需要在你的自定義材質的調色板來定義顏色。
UPDATE:
重要通知您'_red_'
和'_green_'
顏色:
進度微調的顏色。可爲原發性,口音,或警告
按progress-spinner
源代碼
https://github.com/angular/material2/blob/master/src/lib/progress-spinner/progress-spinner.ts#L110
/** The color of the progress-spinner. Can be primary, accent, or warn. */
@Input()
get color(): string { return this._color; }
set color(value: string) {
if (value) {
this._renderer.removeClass(this._elementRef.nativeElement, `mat-${this._color}`);
this._renderer.addClass(this._elementRef.nativeElement, `mat-${value}`);
this._color = value;
}
所以getColor()
變得像說:
getColor(percentage) {
return percentage > 50 ? 'accent' : 'warn';
}
如果你不快樂與預生成主題,任何顏色比您必須創建我們自己的調色板,請參閱https://material.angular.io/guides瞭解更多詳情
'color ='red'','[color] ='red'',[color] ='functionThatReturnsColor()',它們都不起作用。它只接受三種預定義的「主要,重音,警告」顏色之一。 –
您的GitHub頁面不會添加任何內容。例如,你如何使它紅色? –
@SaeedNeamati,這聽起來像是另一個問題;)那是第一,第二我只是想知道爲什麼你會投票答案沒有理由。問題是'如何在Angular 2 Material 2中綁定md-progress-spinner的顏色?',並且初始答案與使用[color]屬性一樣簡單。 – Kuncevic