Javascript 样式属性don'内的角度表达式;我不在IE工作
我有angular 1.0.6(我知道它很旧)和带有表达式的style属性: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,但它不是我所需要的。好的,试试这个,但我不确定我是否完全理解你想要做什
<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}
作为属性值。不工作,GetTypeError:无法读取未定义的属性“exp”
另外color:{{item.color | ContractColor}
使用ng-style时返回解析错误。是否尝试按对比色过滤?这是一个自定义过滤器,返回白色或黑色取决于颜色。您可以使用ng style=“{backgroundColor:section.color}”
无需换行{}
,还有为什么要使用角度js代码,我有它我已经询问过样式了(我没有问如何创建constrastColor过滤器),也没有问你为什么向我展示$scope.items
这不是我的问题。我的问题中没有包含该代码,因为它不相关。
ng-attr-style="color:{{entity.status | statusColor}};"