mam kątowej 1.0.6 (wiem, że to stary) i mam atrybut stylu z wyrażeniami:kątowa wyrażenie wewnątrz atrybutu stylu nie działa w IE
<li style="background-color: {{item.color}}">
<span style="color: {{item.color | contrastColor}}">{{item.label}}</span>
</li>
to działa dobrze, ale nie dla IE (The aplikacja musi działać dla> IE10). Kiedy otwieram narzędzie dla programistów, atrybut stylu nie występuje. Próbuję utworzyć niestandardową dyrektywę stylu (ponieważ uważałem, że IE usuwa nieprawidłowy atrybut, zanim Angular może go odczytać), ale z tym prostym kodem, mam błąd TypeError: Cannot read property 'replace' of undefined
z jquery (testowany na chrome Google), ponieważ w moim przypadku element .color może być pusty
.directive("logStyle", function() {
// logStyle directive
return {
restrict: 'A',
link: function(scope, element, attrs) {
element.css(scope.$eval(attrs.logStyle));
}
};
});
Jak mogę to sprawić. Wiem, że istnieje ngStyle, ale nie jest to dokładnie to, czego potrzebuję.
można utworzyć plunker lub jsfiddle, ja chcesz to zobaczyć w różnych przeglądarkach. – SoluableNonagon
używanie read .css() wymaga .css (propertyName), a zestaw wymaga elementu .css (propertyName, nowa wartość), wygląda na to, że próbujesz odczytać, a nie ustawić – SoluableNonagon
@EliteOctagon, możesz także użyć css z obiektem. Chciałem przeanalizować i utworzyć obiekt za pomocą $ eval. Może powinienem użyć JSON '{color: item.color}' jako wartości atrybutu. – jcubic