Синтаксическая ошибка: символ «%» не допускается в строке

0

Я пытаюсь создать индикатор выполнения, значение прогресса которого вычисляется с помощью простой функции в файле углового контроллера, а затем отправляется в элемент html в атрибут стиля.

Вот часть файла AngularJS:

var statusMock = {
    installmentProgress: {
            current: '2',
            outOf: '4'
        }
}
var installmentProgressBarLength = ((statusMock.installmentProgress.current / statusMock.installmentProgress.outOf).toString() * 100);
ctrl.progressValue = 'progresValue={width:' + installmentProgressBarLength + '%}';

И вот часть файла HTML:

<div class="tile-policy-payments__installments-progress__progressbar" >
    <div class="tile-policy-payments__installments-progress__progressbar_value" ng-style="{{ctrl.progressValue}}"></div>
</div>

Проблема заключается в символе "%" в определении ctrl.progressValue. Это вызывает ошибку:

Error: [$parse:syntax] Syntax Error: Token '}' not a primary expression at column 24 of the expression [progresValue={width:50%}] starting at [}].

Если я не использую символ "%", все работает нормально, однако длина индикатора выполнения не является той, которую я ожидаю.

Изображение 174551

Будем благодарны за помощь в решении проблемы. С уважением

  • 0
    Используйте значение ASCII ....
  • 1
    Не слишком знаком со ng-style но вы пробовали ctrl.progressValue = 'width:' + installmentProgressBarLength + '%' вместо ctrl.progressValue = 'progresValue={width:' + installmentProgressBarLength + '%}'
Показать ещё 2 комментария

1 ответ

1

Вам нужно изменить две вещи, чтобы заставить ее работать. При установке переменной в JS вы должны установить ее непосредственно для объекта:

ctrl.progressValue = { width: installmentProgressBarLength + '%' };

Вторая часть меняет привязку:

ng-style="ctrl.progressValue"

Обратите внимание, что нет никаких фигурных скобок вокруг значения. Это потому, что то, что вы действительно хотите передать в ng-style, является объектом, а не представлением JSON этого объекта.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню