Angular函数调用在IE浏览器中不起作用

时间:2016-08-19 18:22:18

标签: javascript html css angularjs internet-explorer

我最近开始使用UI。所以我使用带有html的angularjs。我对Internet Explorer css样式有一个疑问。我正在使用角度调用来根据字段值来确定div的背景颜色。它在chrome和firefox中运行良好。但是在IE中它会给出一些错误,如下所示

enter image description here

enter image description here

这是我的HTML代码

<div class="row" style="border-bottom: 1px solid black; border-top: 1px solid black; padding-top: 5px; padding-bottom: 5px;margin-right:5px;margin-left:5px; margin-bottom: 5px; margin-top: 5px; clear: both; background-color: {{get_color(system.status)}}; position: relative">

这是我的角度函数

$scope.get_color = function(val){

    if (val == '0'){    
        return 'rgb(245,215,215)';
    }
    else{
        return 'rgba(211,211,211,0)';
    }
}

任何想法我错过了什么?

1 个答案:

答案 0 :(得分:1)

您的background-color设置为{{get_color(system.status)}的Angular表达式,但应该是{{get_color(system.status)}}。注意最后缺少的}

尝试将HTML更改为:

<div class="row" ng-style="get_color(system.status)" style="border-bottom: 1px solid black; border-top: 1px solid black; padding-top: 5px; padding-bottom: 5px;margin-right:5px;margin-left:5px; margin-bottom: 5px; margin-top: 5px; clear: both; position: relative">

get_color函数中,执行以下操作:

$scope.get_color = function(val){
    if (val == '0'){    
        return { "background-color": 'rgb(245,215,215)' };
    }
    else{
        return { "background-color": 'rgb(211,211,211,0)' };
    }
}

总结一下,使用ng-style并让你的函数返回一个包含你想要使用的样式的对象。