[英]Access Shadow DOM polymer elements with meteor
How do I access the paper-button with id='signin' outside of the Polymer constructor.如何在 Polymer 构造函数之外访问带有 id='signin' 的纸按钮。 I need to access it from Template.{template-name}.rendered method.
我需要从 Template.{template-name}.rendered 方法访问它。 Is there a way to use selector for paper-button?
有没有办法将选择器用于纸按钮?
<!-- 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>
The easy, less prone way to breakage... (with shadowRoot you will potentially break in Polyfil'd browsers) get a reference to your 'app-bar' element and from there use the $ property id shortcut.简单、不易损坏的方法...(使用 shadowRoot 您可能会在 Polyfil 浏览器中损坏)获取对“app-bar”元素的引用,然后使用 $ 属性 id 快捷方式。 If you cannot find the element via [landing-page].querySelector('app-bar') then try Polymer.dom(landing-page-element.root).querySelector('app-bar').
如果您无法通过 [landing-page].querySelector('app-bar') 找到该元素,请尝试 Polymer.dom(landing-page-element.root).querySelector('app-bar')。 ($ shortcut only works for elements given an ID in that particular elements template, so for your app-bar this will work with signin. It would not work if the elements/ids were generated by a dom-repeat though.
($ 快捷方式仅适用于在该特定元素模板中给定 ID 的元素,因此对于您的应用栏,这将与登录一起使用。如果元素/ID 是由 dom-repeat 生成的,则它将不起作用。
document.querySelector('landing-page').querySelector('app-bar').$.signin;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.