Внутренние ссылки в Polymer 2.0

Как правильно реализовать внутренние ссылки в Polymer 2.0 (ссылки на одной странице)? Кажется, я не могу получить доступ к своим компонентам, которые скрыты в ShadowDoms, поэтому традиционный способ использования <a href="#my_section">link to top</a>, <a name="my_section"></a> и <a id="my_section"></a> не работает.

Я также пробовал решения здесь безрезультатно:

Следующий код, который я пробовал, возвращает значение null, даже когда я добавляю идентификатор в свой компонент:

document.querySelector('#my_section'); //null
this.$.my_section; //null
this.root.querySelector('#my_section'); //null
this.shadowRoot.querySelector('#my_section'); //null 

Возможно, есть способ сделать это с помощью <app-route>?

Я новичок в Polymer, поэтому буду признателен за любые советы. Заранее спасибо.


person VIN    schedule 20.06.2017    source источник
comment
#my_section запрашивает <a id="my_section">? Вы уверены, что хотите использовать имя?   -  person daKmoR    schedule 20.06.2017
comment
@daKmoR Я тоже пробовал id, но это тоже не работает. Я обновил вопрос.   -  person VIN    schedule 20.06.2017
comment
Вы делаете запрос изнутри элемента или снаружи?   -  person codeMonkey    schedule 20.06.2017
comment
Привет, @codeMonkey, я делаю запрос из-за пределов элемента.   -  person VIN    schedule 22.06.2017


Ответы (1)


Пожалуйста, поделитесь более подробным кодом, к каким элементам вы хотите получить доступ и управлять ими. Вот в этом документе

https://www.polymer-project.org/2.0/docs/devguide/dom-template

под заголовком Static node map коротко отображается:

Хэш this.$ создается при инициализации теневого DOM. В готовом обратном вызове вы должны вызвать super.ready() перед доступом к this.$.

person HakanC    schedule 22.06.2017