2016-10-19 3 views
1

Мне нужно получить ширину элемента DOM в пикселях.Получить свойство элемента DOM Angular 2 way

JQuery путь ...

var myWidth = $('.labels').width(); 

Похоже, мне нужно, чтобы ухватить в ElementRef изнутри @Component или Service и получить доступ к width собственности.

В нем также говорится, что, помимо соображений безопасности, он может связывать приложение и уровни рендеринга, предотвращая дальнейшее развертывание веб-рабочего.

Итак, что является лучшим способом получить доступ к этой ширине? Я работаю с изображением, которое заполняет его div горизонтально. Я накладываю некоторые элементы, и я делаю расчет myHeight = aspectRatio * myWidth;

Все связанные вопросы, которые я вижу, упоминают, как это сделать, в то время как Angular2 все еще находился в стадии выбора релиза. Так много изменений API в стабильном выпуске (месяц и 4 дня на сегодняшний день), которые мне кажутся как-то вроде тега #deprecated.

+0

Убедитесь, что вы изучили все необходимые свойства CSS, такие как 'object-fit'. Скорее всего, они могут решить вашу проблему и избавить вас от необходимости выполнять ручные вычисления. –

ответ

0

Угловое само по себе не предоставляет ничего для чтения из DOM.
Если вы хотите прочитать с DOM, вам необходимо использовать ElementRef.
Использование ElementRef гораздо меньше проблем с безопасностью, чем, например, с помощью jQuery.
Правильно, что вы не позволяете этому приложению нормально работать с рендерингом на стороне сервера или веб-мастерами, если вы это сделаете.

Смежные вопросы