Ich habe Winkel 1.0.6 (Ich weiß, es ist alt) und ich habe style-Attribut mit Ausdrücken:Angular Ausdruck in style-Attribute nicht funktioniert im IE
<li style="background-color: {{item.color}}">
<span style="color: {{item.color | contrastColor}}">{{item.label}}</span>
</li>
Es funktioniert gut, aber nicht für das Internet Explorer (The App muss arbeiten für> IE10). Wenn ich das Developer Tool öffne, ist das style Attribut nicht vorhanden. Ich habe versucht, benutzerdefinierte Stil Direktive zu erstellen (weil ich gelernt habe, dass IE ungültige Attribut entfernen, bevor Angular es lesen kann), aber mit diesem einfachen Code habe ich einen Fehler TypeError: Cannot read property 'replace' of undefined
von jquery (auf Google Chrome getestet), weil in meinem Fall Artikel .color kann null sein
.directive("logStyle", function() {
// logStyle directive
return {
restrict: 'A',
link: function(scope, element, attrs) {
element.css(scope.$eval(attrs.logStyle));
}
};
});
Wie kann ich es funktionieren lassen? Ich weiß, dass es ngStyle gibt, aber es ist nicht ganz das, was ich brauche.
können Sie eine Plunker oder jsfiddle erstellen, würde ich mag es über Browser hinweg zu sehen. – SoluableNonagon
mit .css() lesen erfordert .css (propertyName), und set erfordert element.css (propertyName, newValue), es scheint, Sie versuchen zu lesen, anstatt zu setzen – SoluableNonagon
@EliteOctagon Sie können auch CSS mit Objekt verwenden. Ich wollte analysieren und erstellen Objekt mit $ eval. Vielleicht sollte ich JSON '{color: item.color}' als Attributwert verwenden. – jcubic