特定のカスタム要素を特定のカスタム要素内でのみ使用できるようにすることはできますか?
たとえば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>
help-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: @ebidel
この関係は実際にはサポートされていないようで、仕様にも含まれていない可能性があります。これは、スコープ化された(分離された?)要素を考慮して、重くする必要があると私が信じている現実のケースです。
ベンダーが出荷可能な 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>
ません。ベンダーが作成する可能性のあるすべての要素にその名前のプレフィックスを付けるのは本当に理にかなっていますか? すなわち。
<soundcloud-track-info>
元の質問に対する回答が既にあるように見えるため、この会話を別の場所に移動する必要がありますか?