聚合物:基于属性,同一组件的多个模板?

拉杜·切拉留(Radu Chelariu)

在这里,我会稍微有些灰白,试图弄清楚如何在单个Polymer组件中拥有多个模板并根据属性解析为特定模板。

这是场景:

成分

<dom-module id="py-test">
    <template>
        Foo
    </template>
    <template>
        Bar
    </template>
    <script>
        Polymer({
            is: "py-test"
        })
    </script>
</dom-module>

标记

<py-test bar></py-test>

预期结果如果<py-test></py-test>属性为bar,则组件应使用第二个模板。否则,它应该使用第一个模板。

任何人都有关于如何击败Polymer投稿的线索吗?

// 编辑

玛丽亚指出dom-if是一个可能的解决方案。哪一种工作。我使用上面的示例添加了dom-if检查:

<dom-module id="py-test">
    <template>
        <template is="dom-if" if="[[foo]]">
            Foo
        </template>
        <template is="dom-if" if="[[bar]]">
            Bar
        </template>
    </template>
    <script>
        Polymer({
            is: "py-test",
            properties: {
                foo: {
                    type: Boolean,
                    value: true
                },
                bar: {
                    type: Boolean,
                    value: false
                }
            }
        })
    </script>
</dom-module>

但是我看不到如何将其与<py-test>元素本身设置的属性联系起来。

玛莉亚

您的编辑工作即将完成。只需删除properties对象中的初始值即可

<dom-module id="py-test">
    <template>
        <template is="dom-if" if="[[foo]]">
            Foo
        </template>
        <template is="dom-if" if="[[bar]]">
            Bar
        </template>
    </template>
    <script>
        Polymer({
            is: "py-test",
            properties: {
                foo: {
                    type: Boolean,
                },
                bar: {
                    type: Boolean,
                }
            }
        })
    </script>
</dom-module>

然后,您可以像这样使用它:

<py-test foo></py-test>
<py-test bar></py-test>

这是一个小家伙

Polymer处理布尔属性的方式可能会有些混乱。如果存在,则关联的属性为true,否则为false如果设置初始值,则会干扰该值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从同一组件分派多个动作?

来自分类Dev

如何使用ReactJS在同一组件内调用组件的属性?

来自分类Dev

基于属性的聚合物RTL文本

来自分类Dev

基于属性的聚合物RTL文本

来自分类Dev

聚合物模板重复多个图表

来自分类Dev

在同一组件中从组件调用方法

来自分类Dev

使用wct用铁ajax测试聚合物1.0组件

来自分类Dev

使用WCT使用铁ajax测试聚合物1.0组件

来自分类Dev

如何避免创建同一组件的多个实例

来自分类Dev

同一组件(图像占位符)上的多个图像

来自分类Dev

到达路由器中同一组件的多个路径名

来自分类Dev

如何在Spring Framework中为同一组件提供多个名称?

来自分类Dev

在 vuejs 中的同一组件中的多个元素上显示

来自分类Dev

同一组件和视图中的角度材质多个分页器

来自分类Dev

QML属性绑定取决于同一组件中的其他绑定

来自分类Dev

聚合物-如何一次将事件绑定到一组按钮

来自分类Dev

聚合物-如何将事件一次绑定到一组按钮

来自分类Dev

React-当同一组件有多个实例时,如何更改单个组件的状态?

来自分类Dev

为另一个组件内的聚合物组件设置空属性

来自分类Dev

对同一组中的多个集合使用相同的模板

来自分类Dev

同一聚合物元素的多个实例会导致所有行为

来自分类Dev

同一聚合物元素的多个实例会导致所有行为

来自分类Dev

angularjs应用程序设计同一组件(指令或指令+控制器)的多个实例

来自分类Dev

在同一个文件中导入多个聚合物Web组件(出现错误:...。已经注册了具有该名称的类型)

来自分类Dev

在同一个文件中导入多个聚合物Web组件(出现错误:...。已经注册了具有该名称的类型)

来自分类Dev

执行同一组件的两次渲染时,按钮禁用属性未正确更新

来自分类Dev

聚合物-条件模板

来自分类Dev

聚合物-组件布局

来自分类Dev

聚合物Web组件属性值未传递

Related 相关文章

  1. 1

    如何从同一组件分派多个动作?

  2. 2

    如何使用ReactJS在同一组件内调用组件的属性?

  3. 3

    基于属性的聚合物RTL文本

  4. 4

    基于属性的聚合物RTL文本

  5. 5

    聚合物模板重复多个图表

  6. 6

    在同一组件中从组件调用方法

  7. 7

    使用wct用铁ajax测试聚合物1.0组件

  8. 8

    使用WCT使用铁ajax测试聚合物1.0组件

  9. 9

    如何避免创建同一组件的多个实例

  10. 10

    同一组件(图像占位符)上的多个图像

  11. 11

    到达路由器中同一组件的多个路径名

  12. 12

    如何在Spring Framework中为同一组件提供多个名称?

  13. 13

    在 vuejs 中的同一组件中的多个元素上显示

  14. 14

    同一组件和视图中的角度材质多个分页器

  15. 15

    QML属性绑定取决于同一组件中的其他绑定

  16. 16

    聚合物-如何一次将事件绑定到一组按钮

  17. 17

    聚合物-如何将事件一次绑定到一组按钮

  18. 18

    React-当同一组件有多个实例时,如何更改单个组件的状态?

  19. 19

    为另一个组件内的聚合物组件设置空属性

  20. 20

    对同一组中的多个集合使用相同的模板

  21. 21

    同一聚合物元素的多个实例会导致所有行为

  22. 22

    同一聚合物元素的多个实例会导致所有行为

  23. 23

    angularjs应用程序设计同一组件(指令或指令+控制器)的多个实例

  24. 24

    在同一个文件中导入多个聚合物Web组件(出现错误:...。已经注册了具有该名称的类型)

  25. 25

    在同一个文件中导入多个聚合物Web组件(出现错误:...。已经注册了具有该名称的类型)

  26. 26

    执行同一组件的两次渲染时,按钮禁用属性未正确更新

  27. 27

    聚合物-条件模板

  28. 28

    聚合物-组件布局

  29. 29

    聚合物Web组件属性值未传递

热门标签

归档