2015-10-03 6 views
2

Как получить доступ к бумажной кнопке с id = 'signin' вне конструктора Polymer. Мне нужно получить к нему доступ из метода Template. {Template-name} .rendered. Есть ли способ использовать селектор для бумажной кнопки?Доступные полимерные элементы DOM DOM с метеорным

<!-- Code --> 
    <dom-module id="app-bar"> 
    <template> 

     <link rel="import" href="bower_components/iron-media-query/iron-media-query.html"> 
     <iron-media-query query="min-width: 1008px" query-matches="{{largeScreen}}"> 
     </iron-media-query> 
     <template is="dom-if" if="{{largeScreen}}"> 
      <span class="separator"> 
       <link rel="import" href="bower_components/paper-button/paper-button.html"> 

      <paper-button id="signin" on-click="login" raised>Sign in</paper-button> 
      </span> 
     </template> 
     <template is="dom-if" if="{{!largeScreen}}"> 
      <span class="title"></span> 
     </template> 
    </template> 
    <script> 
    Polymer({ 
     is: "app-bar", 
     login: function() { 
      FlowRouter.go('/login'); 
     } 
    }); 
    </script> 
</dom-module> 


<!-- In the landing-page.html --> 

<landing-page> 
<link rel="import" href="app-bar.html"> 
<app-bar></app-bar> 
</landing-page> 
+0

Вот как я мог получить доступ к бумажной кнопке 'document.querySelector ('целевая страница'). ShadowRoot.querySelector ('paper-drawer-panel'). QuerySelector ('app-bar'). ShadowRoot.querySelector ('#signin'); ' – itsashis4u

ответ

0

Простой, менее склонный путь к поломке ... (с shadowRoot вы потенциально перерыв в Polyfil'd браузерах) получить ссылку на свой элемент «приложение-бар» и оттуда использовать $ ID недвижимости ярлык. Если вы не можете найти элемент через [целевую страницу] .querySelector ('app-bar'), попробуйте Polymer.dom (landing-page-element.root) .queySelector ('app-bar'). ($ shortcut работает только для элементов, заданных ID в этом шаблоне конкретных элементов, поэтому для вашей панели приложений это будет работать с signin. Это не сработает, если элементы/идентификаторы были сгенерированы dom-repeat, хотя.

document.querySelector('landing-page').querySelector('app-bar').$.signin; 
+0

Это не сработало. Я пробовал обе альтернативы, но не имел успеха. – itsashis4u

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