#javascript #angularjs #kendo-ui
#javascript #angularjs #kendo-пользовательский интерфейс
Вопрос:
Это мой фрагмент кода тепловой карты в пользовательском интерфейсе Kendo.
<div ng-repeat="h in row.hours" ng-style="h.styleStr"
data-value="{{params.compare ? h.percentChange : h.current[unit]}}"
data-time="{{$index}}">
{{params.compare ? h.percentChange : h.current[unit]}}
</div>
Он отлично работает. что h.current[unit]
внутри div, так это то, что он отображает значение (в десятичной системе счисления). Вот так..
Однако мне нужно отображать десятичные значения в виде целых чисел. Вот так…
И у меня есть intFormat
функция, которая делает именно это. Например:
intFormat(79.952)
вернется 80
. Итак, я пытаюсь отформатировать числа внутри тепловой карты с помощью функции intFormat . Как этого добиться? Я не знаю, законно ли это, но я пытался {{params.compare ? h.percentChange : intFormat(h.current[unit])}}
, но это не работает. Я использую Angularjs 1X и KendoUI. Могу ли я использовать функцию внутри двойной фигурной скобки?
Ответ №1:
Конечно, вы можете:
создайте функцию, подобную этой
$scope.getDisplayValue = function(currentValue)
{
return intFormat(currentValue);
}
А затем ссылайтесь на него следующим образом в html:
{{getDisplayValue(h.percentChange)}}
Пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы.
Ответ №2:
Вы можете попробовать использовать parseInt(10.5555)
встроенный конвертер JavaScript в вашем выражении AngularJS следующим образом: {{parseInt(10.5555)}}
.
Надеюсь, это поможет. Спасибо.
Ответ №3:
Я смог исправить это, прикрепив фильтр..вот так…
{{params.compare ? h.percentChange : h.current[unit]|numFmt}}