Polymer 聚合物:如何创建重复的动态元素?

Polymer 聚合物:如何创建重复的动态元素?,polymer,Polymer,我有一个名为editbox的聚合元素,它充当基于传入数据的一组未指定元素的容器 <link rel="import" href="/assets/bower_components/polymer/polymer.html"> <link rel="import" href="/assets/elements/field-text.html"> <link rel="import" href="/assets/elements/field-hidden.html"&g

我有一个名为editbox的聚合元素,它充当基于传入数据的一组未指定元素的容器

<link rel="import" href="/assets/bower_components/polymer/polymer.html">
<link rel="import" href="/assets/elements/field-text.html">
<link rel="import" href="/assets/elements/field-hidden.html">

<polymer-element name="edit-box" attributes="dataFields">
    <template>
        <template repeat="{{dataField in dataFields}}">
            <field-{{dataField.Type}}></field-{{dataField.Type}}>
        </template>
        <input type="button" value="Save" />
    </template>
    <script>
        Polymer('edit-box', {
            ...
        }
    </script>
</polymer-element>

聚合物(“编辑框”{
...
}
数据字段。类型可能是“文本”或“隐藏”等

我创建了其他聚合物元素,称为字段文本和字段隐藏等


这只是一个基本的想法,我知道它没有经过修饰。我怎样才能循环遍历我的数据字段,并根据数据集中存在的内容呈现这个编辑框容器元素中的不同元素?

绑定到这样的元素名会非常酷,但这是不可能的。Polymer的内部需要一个属性,要绑定到的TextNode等。在
的情况下,
{{}}
是没有意义的,因为没有什么可锁定的

实现目标的一种方法是使用条件模板:

<template repeat="{{dataField in dataFields}}">
  <template if="{{dataField.type == 'text'}}">
    <field-text></field-text>
  </template>
  <template if="{{dataField.type == 'chart'}}">
    <field-chart></field-chart>
  </template>
</template>

<template repeat="{{dataField in dataFields}}">
  <field-element type="{{dataField.type}}"></field-element>
</template>