Javascript 样式属性don'内的角度表达式;我不在IE工作

Javascript 样式属性don'内的角度表达式;我不在IE工作,javascript,jquery,css,angularjs,internet-explorer-10,Javascript,Jquery,Css,Angularjs,Internet Explorer 10,我有angular 1.0.6(我知道它很旧)和带有表达式的style属性: <li style="background-color: {{item.color}}"> <span style="color: {{item.color | contrastColor}}">{{item.label}}</span> </li> 我怎样才能使它工作。我知道有ngStyle,但它不是我所需要的。好的,试试这个,但我不确定我是否完全理解你想要做什

我有angular 1.0.6(我知道它很旧)和带有表达式的style属性:

<li style="background-color: {{item.color}}">
   <span style="color: {{item.color | contrastColor}}">{{item.label}}</span>
</li>

我怎样才能使它工作。我知道有ngStyle,但它不是我所需要的。

好的,试试这个,但我不确定我是否完全理解你想要做什么

<div ng-controller="appCtrl">
<ul>
    <li ng-repeat="item in items" ng-style="{'background-color': item.color}">
        <span ng-style="{ 'color': (item.color | contrastColor) }">{{ item.label }}</span>
    </li>
</ul>
</div>

  • {{item.label}

编辑了html,昨晚无法在IE上测试,所以不得不等到今天。IE似乎不喜欢里面有{{}}绑定的style属性,所以它会从DOM中删除它。我发现了这个问题,并且有一个带有给定修复的plunkr。

IE浏览器无法解析带有
style
属性的角度表达式,因此您应该使用
ng style
而不是
style
来解决这个问题。

对于我来说,将
style
更改为
ng attr style
解决了这个问题。在IE和Chrome中测试。希望这对其他人有帮助

您可以这样使用
{{}

ng-attr-style="color:{{entity.status | statusColor}};" 

将样式更改为ng attr样式可以解决此问题,并且在所有浏览器中都可以正常工作

您可以创建plunker或JSFIDLE吗,我希望在不同浏览器中看到它。使用.css()读取requires.css(propertyName)和set requires element.css(propertyName,newValue),看来你是在试着读书,而不是读书set@EliteOctagon您还可以将css与对象一起使用。我想使用$eval解析和创建对象。也许我应该使用JSON
{color:item.color}
作为属性值。不工作,Get
TypeError:无法读取未定义的属性“exp”
另外
color:{{item.color | ContractColor}
使用ng-style时返回解析错误。是否尝试按对比色过滤?这是一个自定义过滤器,返回白色或黑色取决于颜色。您可以使用
ng style=“{backgroundColor:section.color}”
无需换行
{}
,还有为什么要使用角度js代码,我有它我已经询问过样式了(我没有问如何创建constrastColor过滤器),也没有问你为什么向我展示
$scope.items
这不是我的问题。我的问题中没有包含该代码,因为它不相关。
ng-attr-style="color:{{entity.status | statusColor}};"