Polymer 1.0 内部添加其他聚合物元素

Polymer 1.0 add other polymer elements inside

你好,像这样添加子聚合物元素有什么不同:

<dom-module id="app-element">
    <template>
        <h1>Hello</h1>
        <test-element></test-element>
    </template>
    <script>
        Polymer({
            is: "app-element"
        });
    </script>
</dom-module>
<app-element></app-element>

这很好用。 在app-element标签内添加html代码(包括其他聚合物元素)的效果

<app-element>some html here</app-element>

像这样:

 <dom-module id="app-element">
    <template>
        <h1>Hello</h1>

    </template>
    <script>
        Polymer({
            is: "app-element"
        });
    </script>
</dom-module>
<app-element>
    <test-element></test-element>
</app-element>

这将忽略测试元素代码。那么在什么情况下我可以在聚合物元素中添加 html 代码?什么时候会被忽视?如果您想在 html 代码中的其他聚合物元素中添加聚合物元素,会发生什么情况,如下所示:

<app-element>
    <test-element></test-element>
</app-element>

??谢谢

在第一种情况下,您使用的是 local dom,在第二种情况下,您使用的是 light dom。 在本地 dom 中,包含它的自定义元素负责内容(在本例中为 app-element)。所以自定义元素的创建者决定了本地dom的内容。相反,使用 light dom 为自定义元素的 user 提供了指定内容的选项。自定义元素的创建者可以使用 <content></content> 标签指定灯光 dom 应该进入自定义元素的哪个位置。所以要让你的第二个例子工作,你需要这样的东西:

<dom-module id="app-element">
    <template>
        <h1>Hello</h1>
        <content></content>
    </template>
<script>
    Polymer({
        is: "app-element"
    });
</script>
</dom-module>
<app-element>
    <test-element></test-element>
</app-element>

光 dom 的一个示例用例是 paper-dialog。使用 light dom,对话框的用户可以决定对话框的内容。例如,要使用的特定按钮、对话框的主要内容等。 查看文档中的 this page 以获取有关局部和光照 dom.

的更多信息