Html元素ClientHeight返回不一致的值

Html元素ClientHeight返回不一致的值,html,angularjs,Html,Angularjs,我有一个简单的Html元素,可以从指令中访问: <div scroll-item ng-repeat="post in posts"> ... app.directive("scrollItem", function($window){ return { link : function($scope, $element, $att) { console.log($element[0].clientHeight);

我有一个简单的Html元素,可以从指令中访问:

<div scroll-item ng-repeat="post in posts">
...
app.directive("scrollItem", function($window){
    return {
        link : function($scope, $element, $att) {
            console.log($element[0].clientHeight);
            console.dir($element[0]);
        }
    }
});

...
应用程序指令(“滚动项”,函数($window){
返回{
链接:函数($scope、$element、$att){
log($element[0].clientHeight);
console.dir($element[0]);
}
}
});
两种不同的日志产生不同的结果。当我查看在第二个日志中找到的对象时,clientHeight返回166;这是正确的,但在第一个日志中返回201。它怎么可能产生如此不一致的结果

我无法用这把简单的小提琴再现这个问题:
什么会导致这样的问题?

任何元素的客户端高度都返回元素的内部高度,所以不必每次都返回相同的值。每个元素中有更多的文本,这意味着更多的clientHeight

对于没有CSS或内联布局框的元素,Element.clientHeight只读属性为零,否则它是元素的内部高度(以像素为单位),包括填充,但不包括水平滚动条高度、边框或边距。 资料来源:

单击最后一个元素时,它将返回不同的内部高度:

你能提供一些plunkr或fiddle代码来理解这个问题吗?我试图在fiddle中重现这个问题。我不能。我想知道是什么可能导致这样的问题。你的小提琴不包含受尊重的方向。看,它返回的是clientHeight,意思是元素的高度。因此,如果你的元素有一些动态宽度,那么它将返回不同的高度。是的,但它如何返回一个值,然后在下一行它有一个不同的?他们不是不同的跳水员返回不同的高度吗。在我的例子中,同一个div返回两个不同的值。它可能包含一些动态值
myApp.directive("scrollItem", function(){
    return {
        link : function($scope, $element, $att) {
          $element.on('click',function(){
           console.log(this.clientHeight);
          })
        }
    }
});