CSS nesne-fit ... çünkü IE benim için çalışmıyor img json nesnesindeki width/height özelliklerini ayarlamadan önce yükle Bu şekilde bir şey çalışacaktır ..
Önemli: Scope.apply - Kapsamı açısal olmayan bir bağlamda değiştirdiğiniz için, yani jQuery'de kapsamı çağırın, böylece digest-watch döngüsü oluşur ve variabl doğru şekilde kurulur.
Plunker
HTML:
<img ng-src="{{img}}" image-set-aspect ng-class="{'wide': img.width/img.height > 1, 'tall': img.width/img.height <= 1}" />
Yönergesi: çalışması lazım benziyor
app.directive('imageSetAspect', function() {
return {
scope: false,
restrict: 'A',
link: function(scope, element, attrs) {
element.bind('load', function() {
// Use jquery on 'element' to grab image and get dimensions.
scope.$apply(function() {
scope.imageMeta.width = $(element).width();
scope.imageMeta.height = $(element).height();
console.log(scope.$parent.imageMeta);
});
});
}
};
});
. Senin için çalışmıyor mu? – Lex
Nop ... "img.width" img dizisinin bir özelliği değil .... Resim genişliğini ve yüksekliğini elde etmek istiyorum ama nasıl olduğunu bilmiyorum –
Oh, ha ... gotcha. [Bu cevap] (http://stackoverflow.com/a/14508318/548997) yardım ediyor mu? Görünüşe göre bir yönerge yazmanız gerekecek (bu, DOM ile uğraşmak istediğiniz her an başladığınızda oldukça standarttır). – Lex