Как я могу получить ширину элементов в директиве?
В моем случае директива вызывается несколько раз, и мне нужно пройти через параметр element, чтобы узнать, какой элемент вызывается.
Однако я не знаю, как получить класс внутри этой ширины элементов?
Например, у меня есть класс, называемый ярлыками, поэтому я сделал что-то в этом направлении:
console.log(element.find(.labels).width());
Это, однако, не работает, он возвращает нуль... хотя длина кода ниже:
console.log(element.find('.labels').length);
Поэтому очевидно, что кажется, что класс является объектом, но из того, что я могу сказать, это не так.
Я также должен указать, что элемент, который я пытаюсь получить, имеет свойство transform css. Я не думаю, что это повлияет на то, что я пытаюсь сделать.
Я сделал что-то похожее на высоту, здесь была бы адаптация к ширине (не тестировалась):
angular.module('app')
.directive('findWidth', function($timeout) {
return {
type: "A",
link: function(scope, element) {
$timeout(init, false);
function init() {
var offsetWidth = element[0].offsetWidth;
}
},
};
});
PS: вам может не понадобиться трюк с тайм-аутом
Дополнительная информация: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetWidth