【发布时间】:2014-09-16 19:15:03
【问题描述】:
我有一个包含百分比值的 JSON 响应对象。例如:
{
completionPercent: 42
}
我想要的 UI 结果是:
┌──────────────────────────────────────────────────┐
|█████████████████████ |
└──────────────────────────────────────────────────┘
JSON 对象用作 AngularJS 中元素的ng-model。现在我想将completionPercent 绑定为AngularJS 中元素的宽度。但是 CSS width 需要像 '42%' 这样的字符串,而不是数字。所以下面的不起作用:
<div id="progressBackground" ... >
<div id="progressBar"
ng-model="..."
ng-style="{ 'width': completionPercent }"
... ></div>
</div>
目前,我通过在控制器中生成整个样式来实现这一点:
ng-style="getStyleFromCompletionPercent()"
但这不是一个好主意,因为扩展ng-style 变得非常困难。是否有另一种方法可以隐式指定宽度为百分比?像这样的东西是理想的:
ng-style="{ 'width-percentage': completionPercent }"
【问题讨论】:
-
所以你不能只在对象中添加百分比开始吗?
{"completionPercent": "42%"} -
@epascarello JSON 来自另一个服务。我可以在控制器中对其进行预处理并添加一个新的 String 属性,但我将其作为最后的手段。
标签: javascript css json angularjs data-binding