我需要获得div的clientHeight?我如何在Angular中执行此操作? (我现在不在乎这是不好的做法)
我尝试过一千件事,其中一些可以在plunker中看到。下面的代码在控制器之外工作,但不适用于clientHeight:
$scope.myElem = angular.element(document.getElementById('testDiv'));
$scope.myAttr = $scope.myElem.attr('name');
我不知道如何从指令中获取属性。所有示例似乎只使用带有命名属性的链接。我不会设置clientHeight,我只需要返回它。
答案 0 :(得分:6)
使用指令是最简单的方法。 DOM在link
(后链接)函数中完全实现,因此元素属性应该可用。
例如
.directive('logClientHeight', function($log) {
return {
link: function(scope, element) {
$log.debug(element.prop('clientHeight'));
}
}
});
请注意,对于具有典型element properties的元素,它应该是典型元素。
感谢Eric Martinez指出这一点。