javascript - 在 ng-repeat 中获取元素的比例在 Angularjs 中返回未定义

标签 javascript 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 从 src 属性加载时将被调用

指令

app.directive('photo', function(){
    return {
        restrict: 'E',
        link: function(scope, element, attrs) {
            element.on('load', function(){
                console.log( element[0].clientHeight);
            });
        }
    }
});

关于javascript - 在 ng-repeat 中获取元素的比例在 Angularjs 中返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30003813/

相关文章:

javascript - 收到响应后使用 Chrome webRequest 进行 URL 转发

javascript - 正则表达式匹配单词数组,不包括缩略词

javascript - 为什么当 redux 状态改变时 props.screenProps 会变成 undefined

javascript - 如何在AngularJS Controller 中进行反向过滤

javascript - Angular promise 执行顺序控制

javascript - CasperJS 仅从我的 for 循环中多次发布最后一项

javascript - 在组件安装之前 react 设置滚动位置

javascript - 如何使用 Javascript/AngularJs 将按钮放置在图像上的特定位置(x,y)

javascript - 如何在 Angularjs 中模拟 HTML 表单请求?

javascript - AngularJS : Upload base64 image to server