Я создал индикатор выполнения с помощью Bootstrap и хочу, чтобы цвет динамически изменялся в зависимости от процента. Пока вот как выглядит мой код:
<div class="progress" style="height: {{c.options.bar_height}}px;">
<div class="progress-bar progress-bar-striped active {{c.progress_bar_color}}" role="progressbar" aria-valuenow={{c.data.percent_complete}} aria-valuemin="0" aria-valuemax="100" style="width:{{c.data.percent_complete}}; font-size: {{c.options.font_size}};">
{{c.data.percent_complete}}
</div>
</div>
В моем клиентском контроллере я установил цвета следующим образом:
if(c.data.percent_complete<=50) {
c.progress_bar_color = 'progress-bar-danger';
}
if(c.data.percent_complete>50 && c.data.percent_complete<=75) {
c.progress_bar_color = 'progress-bar-warning';
}
if(c.data.percent_complete>75 && c.data.percent_complete<=99.99) {
c.progress_bar_color = 'progress-bar-primary';
}
if(c.data.percent_complete==100) {
c.progress_bar_color = 'progress-bar-success';
}
Пока индикатор прогресса не меняет цвет вообще. Чего мне не хватает, чтобы заставить это работать?
EDIT
Я избавился от своего клиентского контроллера и добавил ng-класс:
ng-class="{'progress-bar-danger': c.data.percent_complete<'33', 'progress-bar-warning': c.data.percent_complete>='33' && c.data.percent_complete<'66', 'progress-bar-success': c.data.percent_complete>='66'}"
Это работает для каждого сценария, ЗА ИСКЛЮЧЕНИЕМ, когда оно составляет 100%. Когда планка по какой-либо причине достигает 100%, она меняется на «прогресс-бар-опасность» вместо «прогресс-бар-успех». Любые предложения, как это исправить? Спасибо!