在模板内使用firebase元素时显示错误重复
并在另一个位置存储实际用户数据 在这里,我希望模板重复相应地呈现每个用户(member1、member2、member3)。然而,它为3个条目打印出相同的名称,就好像它在模板repeat中为所有3个firebase元素重复使用变量“member”,这真的没有意义 我试图修改objKeys函数以返回在模板内使用firebase元素时显示错误重复,firebase,polymer,templatebinding,Firebase,Polymer,Templatebinding,并在另一个位置存储实际用户数据 在这里,我希望模板重复相应地呈现每个用户(member1、member2、member3)。然而,它为3个条目打印出相同的名称,就好像它在模板repeat中为所有3个firebase元素重复使用变量“member”,这真的没有意义 我试图修改objKeys函数以返回 members = { 'memberId_1': true, 'memberId_2': true, 'memberId_3': true } 然后对firebase元素使用内部
members = {
'memberId_1': true,
'memberId_2': true,
'memberId_3': true
}
然后对firebase元素使用内部成员对象,但结果仍然相同
[ {memberId: memberId_1, member: {}},
{memberId: memberId_2, member: {}},
{memberId: memberId_3, member: {}]
我认为问题在于中继器将{{member}}
绑定到自身
检查Firebase-您将看到绑定不仅在视图中重复显示名称,还将所有值设置为Firebase中的相同名称
请改为使用{{members[memberId}}
:
<template repeat="{{item in members | objKeys}}>
<firebase-element data={{item.member}} location={{'SOME_LOCATION/' + item.memberId}}> </firebase-element>
</template>
问题的聚合物1.0版本:
<template repeat="{{item in members | objKeys}}>
<firebase-element data={{item.member}} location={{'SOME_LOCATION/' + item.memberId}}> </firebase-element>
</template>
<polymer-element name="member-test">
<template>
<firebase-element data="{{members}}" location="{{'https://YOUR_APP_NAME.firebaseio.com/members/'}}"></firebase-element>
<template repeat="{{memberId in members | objKeys}}">
<firebase-element data="{{members[memberId]}}" location="{{'https://YOUR_APP_NAME.firebaseio.com/members/' + memberId}}"></firebase-element>
<h2>{{members[memberId].name}}</h2>
</template>
</template>
<script>
Polymer({
objKeys: function(members) {
if(!members) return null;
return Object.keys(members);
}
});
</script>
</polymer-element>
{ members:
{ memberID1: { name: "Name1" },
memberID2: { name: "Name2" }
}
}