37

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

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

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

这个问题的任何解决方法?

4

5 回答 5

57

尝试

ng-style="{ width: progress + '%' }"
于 2013-06-18T13:34:56.670 回答
26

我必须使用ng-attr-style(尽管我不需要使用函数)。

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

这是关于这个问题的github 讨论。

于 2014-09-19T17:49:34.940 回答
13

我让它这样工作:

在控制器中:

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

在 HTML 中:

<div class="progbar" ng-style="getStyle(progress)"></div>
于 2013-02-25T09:43:31.020 回答
4

由于某种原因在 IE 中我不得不使用

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

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

于 2013-12-10T13:35:32.373 回答
0

如果有人使用 px 而不是 %,你必须使用这个

ng-style="{ width: progress + \'px\' }"
于 2014-08-07T11:09:34.127 回答