我在NgRepeat中显示一个条形列表,并使用值frecuency
以百分比显示条形宽度。从我看到的IE 9-10不喜欢这部分:style="width:{{type.frecuency}}%;"
<div class="drp" ng-repeat="type in weeks">
<div style="width:{{type.frecuency}}%;" class="percentBar">
<span ng-if="type.frecuency > 14">{{type.frecuency}}%</span>
</div>
</div>
这是Angular在IE上的问题还是我的代码是问题。 感谢
P.S。 我知道我可以创建一个类,但修改style属性会更快。
解决方案:ng-style="setBarWidth(type.frecuency);"
scope.setBarWidth = function(width) {
return {width: width+'%'};
};
答案 0 :(得分:1)
对各种HTML属性使用派生值时,使用提供的Angular指令始终是个好主意。他们确保浏览器看到您希望它看到的值而不是绑定语法(在您的情况下为{{type.frecuency}}
)
此处,应使用ngStyle
指令。
<div class="drp" ng-repeat="type in weeks">
<div ng-style="width:{{type.frecuency}}%;" class="percentBar">
<span ng-if="type.frecuency > 14">{{type.frecuency}}%</span>
</div>
</div>
许多其他HTML属性都有类似的指令,请参阅documentation获取完整列表。