使用Angular获取div的clientHeight?

VSO*_*VSO 0 html javascript css angularjs

我需要获得div 的clientHeight?我如何在Angular中执行此操作?(我现在不在乎这是不好的做法)

我尝试过一千种东西,其中一些可以在这个东西中看到.下面的代码在控制器之外工作,但不适用于clientHeight:

    $scope.myElem = angular.element(document.getElementById('testDiv')); 
    $scope.myAttr = $scope.myElem.attr('name'); 
Run Code Online (Sandbox Code Playgroud)

我不知道如何从指令中获取属性.所有示例似乎只使用带有命名属性的链接.我不会设置clientHeight,我只需要返回它.

Phi*_*hil 6

使用指令是最简单的方法.DOM完全在link(post link)函数中实现,因此元素属性应该可用.

例如

.directive('logClientHeight', function($log) {
    return {
        link: function(scope, element) {
            $log.debug(element.prop('clientHeight'));
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

Plunker


请注意,对于具有典型元素属性的元素,它应该是典型元素.

感谢Eric Martinez指出这一点.