Javascript 在内部传递节点<;内容>;到嵌套的组件元素
我有两种聚合物元素:Javascript 在内部传递节点<;内容>;到嵌套的组件元素,javascript,html,polymer,web-component,Javascript,Html,Polymer,Web Component,我有两种聚合物元素: <polymer-element name="image-slider"> <template> <content id="images" select="img"> </template> <script> Polymer('image-slider', { ready: function() { $(this.$.images.getDistributedNodes
<polymer-element name="image-slider">
<template>
<content id="images" select="img">
</template>
<script>
Polymer('image-slider', {
ready: function() {
$(this.$.images.getDistributedNodes()).each(function() {
$(this).width(100);
});
console.group('image-slider');
console.log('content#images nodes: ', this.$.images.getDistributedNodes());
console.groupEnd('image-slider');
}
})
</script>
</polymer-element>
<polymer-element name="fruit-item">
<template>
<image-slider>
<content id="images" select="img">
</image-slider>
</template>
<script>
Polymer('fruit-item', {
ready: function() {
}
})
</script>
</polymer-element>
聚合物(“图像滑块”{
就绪:函数(){
$(this.$.images.getDistributedNodes()).each(function()){
$(此)。宽度(100);
});
控制台组(“图像滑块”);
console.log('content#images nodes:',this.$.images.getDistributedNodes());
console.groupEnd('image-slider');
}
})
聚合物(“水果项目”{
就绪:函数(){
}
})
如您所见,请使用
我正在尝试将
中的所有
内容传递到
。不幸的是,它不起作用。
它从
s内容传递文本节点,而不是
s
在您的自定义元素中有相当一部分您根本不需要。我在上做了重写,但要点是不要使用JS,而是使用
:host
和::content
阴影dom选择器进行样式设置。这立即消除了对您正在使用的ready
函数的任何需要,因此将您的元素改为noscript
元素。问题仍然存在。通过javascript更改宽度只是一个例子。然后,您需要给出一个新的更好的例子,因为您说明的问题很容易解决。在您的示例中,水果项目
中的图像很大。它们应该像图像滑块中的那样小。PS你确定你给了我正确的链接吗?这和我给的一样,我看不出有任何变化。。。打开我的链接不会打开我所做的更改。让我给你做一把新小提琴,这样我们就可以确定它有固定的密码。抱歉(jsbin到底做了什么…)jsbin更新了。这不应该恢复到原始示例,因为它完全是一个新的jsbin。这就是说,将Chrome与Firefox进行比较表明Firefox弄错了这一点,因此Polymer在填充::content
选择器时可能存在一个bug,可能需要您在