Angular不解析IE9和10中style属性中的模板{{value}}

时间:2014-07-18 12:28:50

标签: javascript angularjs internet-explorer internet-explorer-9

我在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+'%'}; 
     };

1 个答案:

答案 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获取完整列表。