我有一个简单的弹出指令,在那里我需要找到div的高度。
当我输出div console.log($elem.find('.reviews-slide-detail'))
时,它会显示完整的对象,[0] -> offsetHeight
显示一个数字(223)。
但是当我尝试直接输出数字console.log($elem.find('.reviews-slide-detail')[0].offsetHeight);
时,它会显示0。
我的div没有被隐藏,它的修复位置和造型非常正常。
有没有人知道这种差异的原因?
编辑:
指令的一部分:
function resultReviewDirective($timeout, $http, $state, UtilService, ResultService, Session, $window) {
return {
restrict: 'AEC',
replace: true,
templateUrl: 'modules/core/templates/result.review.html',
link: function($scope, $elem, $attrs){
$scope.reviewFunc.setHeight = function() {
console.log($elem.find('.reviews-slide-detail'));
console.log($elem.find('.reviews-slide-detail')[0].offsetHeight);
};
}
};
}
angular.module('core').directive('resultReview', resultReviewDirective);
答案 0 :(得分:0)
感谢PSL的评论,将其包装在$timeout
中。