AngularJS表达式在IE8上的style属性中不起作用

时间:2012-12-05 05:40:03

标签: templates internet-explorer-8 expression angularjs

在style属性上使用这样的表达式适用于Chrome,但不适用于IE8

style="width:{{progress}}%"

http://jsfiddle.net/5VDMD/12/(要测试一下,请在文本框中输入一个数字)

此问题的解决方法是什么?

5 个答案:

答案 0 :(得分:57)

尝试

ng-style="{ width: progress + '%' }"

答案 1 :(得分:26)

我必须使用ng-attr-style(虽然我不需要使用某个功能)。

<div ng-attr-style="width: {{value}}%"></div>

这是关于此问题的github discussion

答案 2 :(得分:13)

我这样做了:

在控制器中:

$scope.getStyle = function(progress){
    return {
        width: progress + "%"
    }
}
HTML中的

<div class="progbar" ng-style="getStyle(progress)"></div>

答案 3 :(得分:4)

出于某些原因,我不得不使用

ng-attr-style="{{METHOD_TO_RETURN_SOME_STYLE()}}"

虽然我的指令是在ng-repeat下进行的。

答案 4 :(得分:0)

如果有人使用px而不是%,则必须使用此

ng-style="{ width: progress + \'px\' }"