是否可以确保某些自定义元素仅在特定自定义元素中可用?
例如,我创建了一个site-heading
和一个help-icon
元素。
<polymer-element name="site-heading">
<template>
<h1>
<content></content>
<content select="help-icon"></content>
</h1>
</template>
<polymer-element>
<polymer-element name="help-icon">
<template>
<span class="help">
<img src="/image/help.png" />
<content></content>
</span>
</template>
<polymer-element>
现在这不是最实际的示例,但是,假设 thehelp-icon
是一个高度专业化的元素,仅在上下文中对site-heading
. 如何强制元素仅在内部使用site-heading
?
耶!
<site-heading>
Super Cool Site Header
<help-icon>Help Me!</help-icon>
</site-heading>
不!
<help-icon>Help Me!</help-icon>
更新 2:@ebdel
似乎这种关系并没有得到真正的支持,甚至可能不在规范中。这是一个真实世界的案例,我认为考虑到范围(隔离?)元素应该很重。
让我们假设供应商将创建一个可交付的 Web 组件。例如,SoundCloud 将创建一个<soundcloud-player>
元素。玩家需要一个曲目列表,因此他们创建了一个<track-info attributes="track-id crop etc">{{HTML for description pane}}</track-info>
元素。
该<track-info>
元素仅作为 的子元素有用<soundcloud-player>
:
目前,理论上
<track-info>
完全没问题,直到新的 Web 组件定义了一个<track-info>
元素。供应商可能创建的每个元素都以他们的名字为前缀真的有意义吗?IE。
<soundcloud-track-info>
我们是否应该将此对话转移到其他地方,因为我们似乎已经有了原始问题的答案?