Получить высоту элемента HTML без JQuery в AngularJS - программирование
Подтвердить что ты не робот

Получить высоту элемента HTML без JQuery в AngularJS

Я знакомлюсь с AngularJS. Я стараюсь быть как можно "чистым". По этой причине я стараюсь избегать включения jQuery. Однако у меня возникает проблема получения высоты элемента HTML. В настоящее время я пытаюсь сделать следующее:

angular.module('myModule', [])
  .directive('myDirective', function() {
    return {
        restrict: 'A',
        link: function(scope, element) {
            console.log(element.css('height'));
        }
    };
  })
;

Однако, когда этот код выполняется, пустая строка записывается в консоль. Я пытаюсь показать высоту элемента. Есть ли способ сделать это в AngularJS без использования jQuery?

Спасибо!

4b9b3361

Ответ 1

Кажется, что это работает правильно и дает тот же результат, если вы используете:

element.style.height

Поскольку в элементе нет встроенного стиля или высоты CSS, отображается пустая строка. Вместо того, чтобы полагаться на стиль, вы можете напрямую получить высоту HTML-элементов.

console.log(element[0].offsetHeight);

http://plnkr.co/edit/03YWwjBjYpid4fVmDxlM?p=preview

Как получить фактическую ширину и высоту элемента HTML?

Ответ 2

Маленькая обертка вокруг элемента, предоставленная angular, позволяет запрашивать свойства, поэтому:

element.prop('offsetHeight');

Будет хорошо работать, см. http://plnkr.co/edit/pFHySDo7hjEcMKCqGuiV?p=preview