Polymer 聚合物:如何创建重复的动态元素?
我有一个名为editbox的聚合元素,它充当基于传入数据的一组未指定元素的容器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
<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>