【发布时间】:2014-05-13 01:04:06
【问题描述】:
我正在使用 Polymer 来玩弄影子 dom。我觉得应该是一个简单的用例,但我无法完全开始工作。我想定义一个可以包含导航链接的“导航”容器。我希望它看起来像下面这样:
<top-nav>
<nav-link href="#a">A</nav-link>
<nav-link href="#b">B</nav-link>
<nav-link href="#c">C</nav-link>
<nav-link href="#d">D</nav-link>
</top-nav>
以下是我为这两个元素创建的定义(使用 Bootstrap 主题化风格):
<polymer-element name="top-nav" noscript>
<template>
<ul class="nav nav-tabs">
<content></content>
</ul>
</template>
</polymer-element>
<polymer-element name="nav-link" attributes="href" noscript>
<template>
<li><a href="{{ href }}"><content></content></a></li>
</template>
</polymer-element>
检查 Shadow Dom,这两个元素似乎独立工作 - top-nav 创建一个 ul,nav-link 创建一个包含 a 的 li。问题是li 似乎不是ul 的孩子。我在这里错过了什么?
【问题讨论】:
-
nav不是有效的自定义元素名称。名称中必须有破折号(例如x-nav、my-nav等)。 -
@ebdel 很好。改为
top-nav。
标签: javascript html polymer shadow-dom