http://jsbin.com/zadejogide/1/edit?html,output
這把小提琴的作品。 這並不直接回答你的問題,但它解釋了會發生什麼。
如果將「my-element」嵌套到antoher元素中,則該元素的Light DOM隱藏在外部元素的陰影樹中(在本例中爲「my-test」),這意味着:模板標記找不到它。
可能的解決方案
,你可以採用模板,並將其添加到「我的元素」的shadowRoot(在某種程度上模板承認其參與了shadowRoot但沒有其他人)喜歡這裏Using template defined in light dom inside a Polymer element(動態模板創建)
或者用is =「auto-binding」嘗試這個。
<polymer-element name="my-element">
<template>
<template id="template" is="auto-binding" ref="foo">
should not get displayed
</template>
</template>
<script>
Polymer('my-element', {
domReady: function() {
var foo = this.querySelector('#foo');
if(foo){
this.shadowRoot.appendChild(foo);
}
}
});
</script>
</polymer-element>
這兩種方法不「真」回答你的問題,但他們對這種情況可以接受workarouns。
我也嘗試在javascript中設置模板的ref_屬性,但沒有成功......並且對私有成員進行戳動並不是一個很好的做法。
http://jsbin.com/wukaloqacedo/1/這類作品,但它再次顯示my-test元素的輸出。 – user1259201 2014-08-31 00:06:45