Tôi có 1.0.6 góc (Tôi biết đó là cũ) và tôi có thuộc tính phong cách với các biểu thức:biểu kiễu góc bên trong thuộc tính phong cách không làm việc trong IE
<li style="background-color: {{item.color}}">
<span style="color: {{item.color | contrastColor}}">{{item.label}}</span>
</li>
Nó hoạt động tốt nhưng không phải cho IE (The ứng dụng cần phải làm việc cho> IE10). Khi tôi mở công cụ Nhà phát triển, thuộc tính kiểu dáng không có. Tôi đã cố gắng tạo chỉ thị phong cách tùy chỉnh (vì tôi nghĩ rằng IE loại bỏ thuộc tính không hợp lệ trước khi Angular có thể đọc nó) nhưng với mã đơn giản này, tôi đã gặp lỗi TypeError: Cannot read property 'replace' of undefined
từ jquery (được kiểm tra trên google chrome) vì trong trường hợp của tôi .color có thể là null
.directive("logStyle", function() {
// logStyle directive
return {
restrict: 'A',
link: function(scope, element, attrs) {
element.css(scope.$eval(attrs.logStyle));
}
};
});
Tôi làm cách nào để nó hoạt động. Tôi biết rằng có ngStyle nhưng nó không hoàn toàn là những gì tôi cần.
bạn có thể tạo một plunker hoặc jsfiddle, tôi muốn muốn thấy nó trên các trình duyệt. – SoluableNonagon
sử dụng .css() đọc yêu cầu .css (propertyName), và thiết lập đòi hỏi element.css (propertyName, newValue), có vẻ như bạn đang cố gắng đọc thay vì đặt – SoluableNonagon
@EliteOctagon bạn cũng có thể sử dụng css với đối tượng. Tôi muốn phân tích cú pháp và tạo đối tượng bằng cách sử dụng $ eval. Có lẽ tôi nên sử dụng JSON {{color: item.color} 'làm giá trị thuộc tính. – jcubic