Je me familiarise avec AngularJS. J'essaie d'être aussi "pur" que possible. Pour cette raison, j'essaie d'éviter d'inclure jQuery. Cependant, je ne parviens pas à obtenir la hauteur d'un élément HTML. Actuellement, j'essaye ce qui suit:
angular.module('myModule', [])
.directive('myDirective', function() {
return {
restrict: 'A',
link: function(scope, element) {
console.log(element.css('height'));
}
};
})
;
Cependant, lorsque ce code est exécuté, une ligne vide est écrite sur la console. J'essaie d'afficher la hauteur de l'élément. Y a-t-il un moyen de faire cela dans AngularJS sans utiliser jQuery?
Merci!
Il semble que cela fonctionne correctement et donne le même résultat si vous utilisez:
element.style.height
Comme aucun style en ligne ou hauteur CSS n'est défini sur l'élément, une ligne vide est affichée. Au lieu de compter sur le style, vous pouvez obtenir directement la hauteur des éléments HTML.
console.log(element[0].offsetHeight);
http://plnkr.co/edit/03YWwjBjYpid4fVmDxlM?p=preview
Comment puis-je récupérer la hauteur et la largeur réelles d'un élément HTML?
Le petit élément wrapper around fourni par angular vous permet de demander des propriétés, donc:
element.prop('offsetHeight');
Cela fonctionnera bien, voir: http://plnkr.co/edit/pFHySDo7hjEcMKCqGuiV?p=preview