В Polymer0.5, я имел следующий код:domReady против готов - Переход к полимеру 1.0
Шаблон:
<div class="scroll">
<div class="content">
<content></content>
</div>
</div>
Сценарий:
domReady: function() {
var width = $(this.shadowRoot).find('.content')[0].scrollWidth;
}
Этот код работает, и я получил ненулевое значение для ширины.
Теперь я пытаюсь перейти на Polymer1.0, я добавил ID в DIV:
<div class="scroll">
<div id="content" class="content">
<content></content>
</div>
</div>
И сценарий теперь:
ready: function() {
var width = this.$.content.scrollWidth;
}
Однако, эта ширина есть 0
.
Есть ли разница между старой domReady
функции, а новая функция ready
? Я также пробовал использовать функцию attached
, но это тоже не сработало.
Когда я пытаюсь получить доступ к width
позже (с нажатием кнопки), тогда я получаю ненулевое значение, которое я ищу.
Элемент используется следующим образом:
<my-scrollbar>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam purus leo, sagittis lobortis velit vel, viverra vulputate purus. Proin lacinia magna eu erat iaculis, eget mollis lectus mattis.
</my-scrollbar>
Так что внутренний текст, что определяет размеры элемента.
'this. $. 'автоматический поиск узлов работает только с идентификаторами, а не с классами. Это опечатка в шаблоне? –
Zikes
Извините, я добавил 'ID' к этому элементу, потому что я не был уверен, были ли классы проблемой. Я отредактирую это. – Tyler
Поскольку 'this. $. Content' уже ссылается на узел, вы должны уйти с этим. $. Content.scrollWidth'. Я не думаю, что это решит вашу проблему, но может сэкономить вам некоторое написание в будущем. – Zikes