Data binding 如何嵌套两个聚合物';dom中的firebase集合元素是否重复?

Data binding 如何嵌套两个聚合物';dom中的firebase集合元素是否重复?,data-binding,firebase,polymer,polymer-1.0,firebase-polymer,Data Binding,Firebase,Polymer,Polymer 1.0,Firebase Polymer,我有两个聚合物firebase收集元素的循环问题。 使用我的数据库结构,我首先必须检查用户有权访问哪些事件,然后从事件中获取有关该事件的信息 这段代码的问题是,当我循环第二个firebase集合时,“事件”上的数据绑定在所有重复的集合上都是相同的,因此在每个h4上都是相同的名称 那么有没有一种方法可以在data=“{}}”中使用唯一的变量呢。 还是有更好的方法写出数据 <firebase-collection data="{{userData}}" location="{{_getCorr

我有两个聚合物firebase收集元素的循环问题。 使用我的数据库结构,我首先必须检查用户有权访问哪些事件,然后从事件中获取有关该事件的信息

这段代码的问题是,当我循环第二个firebase集合时,“事件”上的数据绑定在所有重复的集合上都是相同的,因此在每个h4上都是相同的名称

那么有没有一种方法可以在data=“{}}”中使用唯一的变量呢。 还是有更好的方法写出数据

<firebase-collection data="{{userData}}" location="{{_getCorrectUrl()}}"></firebase-collection> 
<template is="dom-repeat" items="{{userData}}" as="user">
  <firebase-collection data="{{events}}" location="{{_getCorrectEventsUrl(user.__firebaseKey__)}}" ></firebase-collection> 
  <template is="dom-repeat" items="{{events}}" as="event">
    <h4>{{event.value.name}}</h4>
  </template>
</template>

{{event.value.name}

我有一个解决办法,我认为这不是解决这个问题的最好办法,但对我来说是有效的。我创建了另一个名为“my user”的元素,我公开了一个名为user的属性,该属性从第一个dom repeat中分配了user的值。一切正常,但是,我对这个解决方案不满意。我仍然在寻找一种解决方案,它不涉及为此创建专用元素

<firebase-collection data="{{userData}}" location="{{_getCorrectUrl()}}">
</firebase-collection> 
<template is="dom-repeat" items="{{userData}}" as="user">
  <my-user user="[[user]]"></my-user>
</template>

另一个“我的用户”:

<dom-module id="my-user">
<template>
  <firebase-collection data="{{events}}" location="{{_getCorrectEventsUrl(user)}}" ></firebase-collection> 
  <template is="dom-repeat" items="{{events}}" as="event">
    <h4>{{event.value.name}}</h4>
  </template>
</template>
<script>
    (function () {
  Polymer({
    is: 'my-user',
    _getCorrectEventsUrl: function(obj) {
      return 'https://app.firebaseio.com/users/' + obj.__firebaseKey__;
    },
    properties: {
      user:{
        type:Object,
      },
    },

  });
})();
</script>
</dom-module>

{{event.value.name}
(功能(){
聚合物({
是:‘我的用户’,
_getCorrectEventsUrl:函数(obj){
返回'https://app.firebaseio.com/users/“+obj.\uuuuu firebaseKey\uuuuuuuuu;
},
特性:{
用户:{
类型:对象,
},
},
});
})();
编辑


在回答了这个问题之后,我意识到当有人使用NoSQL数据库面对这种情况时,它通常会突出设计中的一个问题。数据应该去规范化,并且应该避免像SQL数据库中通常做的那样进行连接。观看youtube上的视频

您是否可以不向用户加载事件,这样就不必进行第二次
firebase收集
,只需重复
{{userData.events}}
?这将解决问题,但会使收集速度变慢。我正在遵循firebases的建议您找到了解决此问题的方法吗?我想我正在阅读文档,您不能将权限用作筛选器。您找到了比此更好的解决方案吗?或者仍然使用另一个自定义元素的相同解决方案。@Srikanth是的,请注意:您基本上需要重新设计应用程序。