小编Dan*_*ris的帖子

聚合物重复模板"刷新"

需要帮助的概念.构建一个显示数据库数据的自定义元素.使用重复模板,它工作得很好.报告已分组,因此报表中的每一行都包含钻取到一行后显示的另一级数据.所以现在我希望能够"刷新"报告数据以反映排序或分组更改.该报告基于"索引"数组,该数组指向显示的实际数据.我对索引数组中的数据进行排序/分组,并将此数组用作模板重复的数组.

<div id="rptbody">
  <template repeat="{{group in groups}}">
    <pmg-group groupid={{group.id}} groupval={{group.groupval}} groupobj={{group.groupobj}}></pmg-group>
  </template>
</div>
Run Code Online (Sandbox Code Playgroud)

因此,在此示例中,groups数组是我的数据的键列表.在此示例中,groups数组已正确排序,因此[0]包含数据数组的第一个索引,并[length-1]包含最后一个索引.我有一个排序例程,可以更改组中的索引值,但它不会添加或删除groups数组中的项目.

所以我的问题是在我的度假之后,如何触发模板重新扫描组列表?我发现我可以设置groups = [],然后groups.push({idx}从我的主索引重新加载groups(),它将更新模板,但这对我来说似乎有点浪费.

有没有办法触发模板刷新,或重新扫描groups数组并根据值的变化重新组织DOM?

templates polymer

6
推荐指数
1
解决办法
1万
查看次数

Firebase .on('value,function(){})一次执行两次

我注意到一些我不理解的东西.我的代码中有以下"on"查询设置.当我把一个孩子推到较低的水平时,在我看来,"on"回调函数会被提升两次.

fb.child('Question').on('value',function(ss){ console.log('on called'); });
Run Code Online (Sandbox Code Playgroud)

示例结构:

---->答案

----> {答案1}:{答案对象}
----> {答案2}:{答案对象}

我通过"推送"功能添加"答案",因此答案的"键"是唯一创建的firebase"唯一ID".

fb.child('Question/Answers').push({the answer object});
Run Code Online (Sandbox Code Playgroud)

在这一点上,我只是推动新的"答案",没有更新或设置.我所看到的是,当我推送一个新的"答案对象"时,"on"函数被调用两次.

我已经进行了双重检查,并且我没有多次附加"on"事件处理程序.我还检查确保"推"只被调用一次.

这是正确的行为吗?我正在"猜测"推送是"插入"孩子,然后"设置"答案对象,这导致开启两次?但这对我来说听起来不对?

显然我对Firebase来说相当新,所以不确定这是否是设计的.但令我感到紧张的是,我每次更新都会多次运行"on"代码?

javascript firebase

4
推荐指数
1
解决办法
1847
查看次数

标签 统计

firebase ×1

javascript ×1

polymer ×1

templates ×1