在 ng-repeat 中获取元素的属性返回 Angularjs 中未定义的元素



我正在尝试在 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/

最新更新