Polymer 聚合物模板重复字段名
如何使用聚合重复模板动态获取此行数组对象的所有字段Polymer 聚合物模板重复字段名,polymer,Polymer,如何使用聚合重复模板动态获取此行数组对象的所有字段 rows = [{ "field1":"test1", "field2":"test2", "field3":"test3", "field4":"test4" }] <template repeat="{{data in rows}}"> {{data.field1}} {{data.field2}} {{data.field3}} {{data...}} </template>
rows = [{
"field1":"test1",
"field2":"test2",
"field3":"test3",
"field4":"test4"
}]
<template repeat="{{data in rows}}">
{{data.field1}}
{{data.field2}}
{{data.field3}}
{{data...}}
</template>
行=[{
“field1”:“test1”,
“field2”:“test2”,
“field3”:“test3”,
“字段4”:“测试4”
}]
{{data.field1}}
{{data.field2}}
{{data.field3}}
{{数据…}}
狡猾的请求
我试过了,我最好的运气是这样的:
<polymer-element name="x-for-in">
<template>
<template repeat="{{field in keys}}">
{{obj[field]}}
</template>
</template>
<script>
Polymer({
obj : null,
keys : [],
created : function () {
this.obj = {
field1 : 1,
field2 : 2,
field3 : 3
};
this.keys = Object.keys(this.obj);
}
})
</script>
</polymer-element>
{{obj[field]}
聚合物({
obj:null,
密钥:[],
已创建:函数(){
this.obj={
字段1:1,
字段2:2,
字段3:3
};
this.keys=Object.keys(this.obj);
}
})
输出:1,2,3
顺便说一句:我不是100%确定你在描述中的意思,因为你的代码说行是对象的数组,而你说行是对象
无论如何,到目前为止一切都很好,上面的例子应该给出一个想法
BTW2:{{data is rows}}
其中rows是一个对象,它将不起作用,因为它本质上是一个javascriptfor in
。聚合物限制了我所理解的事物这显示了两个例子:
好的,谢谢,我请求了一个新的keys功能,使它更简单:)或者,创建一个对
keys
方法的本地引用:keys:Object.keys
并在绑定中使用该方法:{fieldinkeys(obj)}
。更动态。{{fieldin keys(obj)}}
@DocDude该死,真聪明!我发现了一个问题,即它没有检测到对objSee的更改。请参见此相关问题:
<!-- parameters passed to filters are observed, so changing refresh updates the repeat -->
<template repeat="{{key in objectData | toKeys(refresh)}}">
{{ objectData[key] }}
</template>
Polymer({
refresh: 0, // update this value to refresh the repeat
toKeys: function(input) {
if (!input) return;
return Object.keys(input);
}
});