【发布时间】:2015-01-14 15:07:43
【问题描述】:
我目前正在开发一个 Web 组件(使用 Polymer 构建),让我的元素的使用者将一些内容放入元素标签中,如下所示:
<my-element mode="fancy">
<item>First item</item>
<item>Second item</item>
<item>Third item</item>
<!-- ... -->
</my-element>
所以下一步是在我的元素定义中使用<content>,如下一个 sn-p 所示,将内容投影到我的自定义元素中:
<template>
<content id="idToHandleIt" select="item"></content>
</template>
现在的问题是,所有items 都立即呈现。但我不想在那里展示它们,因为我必须过滤我的组件 (JavaScript) 逻辑中的元素,以获得更多标准,而不仅仅是我可以在 select 属性中使用的 CSS 选择器。
是否有人对这个问题有很好的解决方案,或者是否有一个 API 可以让我获取 分布式节点?正如我现在所尝试的,使用getDistributedNodes() 的唯一方法是执行以下操作:
this.querySelector('idToHandleIt').getDistributedNodes();
但我总是需要那个<content> 元素:(
【问题讨论】:
-
你试过
<content style="display:none;">吗? -
是的,但我不想使用它,因为给定的元素可能是 Polymer 元素,然后触发它们的生命周期事件。
标签: javascript polymer web-component shadow-dom