我正在尝试在 ng-repeat 中获取当前元素的高度。
当我登录element
时,我可以在控制台中看到带有 clientHeight
属性的整个对象。但是如果我单独登录element[0].clientHeight
控制台返回undefined
..
我做错了什么?
.JS
app.directive('photo', function(){
return {
restrict: 'A',
link: function(scope, element, attrs) {
console.log( element[0].clientHeight);
}
}
});
.HTML
<div ng-repeat="media in mediaScope" class="gallery_media col-xs-6">
<img photo ng-src="{{ media.url }}">
</div>
您需要
在该元素上设置onload
事件,当加载 img fro src
属性时,这将得到调用
命令
app.directive('photo', function(){
return {
restrict: 'E',
link: function(scope, element, attrs) {
element.on('load', function(){
console.log( element[0].clientHeight);
});
}
}
});
pankajparkar 响应是正确的,但限制参数应设置为"A"。
restrict: 'A'
http://jsfiddle.net/andresrondan/kaL5eot0/1/