我正在尝试计算模板dom-repeat中的子节点。我正在使用firebase-query提取数据。
在dom-repeat内部我想显示提案对象的子节点数。该图显示了firebase中的数据结构,dom-repeat循环所有作业。
<template is="dom-repeat" indexAs="index" id="joblist" items="{{jobs}}" as="job">
<div class="job-container" on-transitionend="_getData">
<paper-card class="cards" heading="{{job.name}}" elevation="0">
<paper-ripple id="ripple" recenters></paper-ripple>
<div class="card-content">{{job.description}}</div>
<div class="card-actions">
<div class="horizontal justified">
<iron-label class="g_lbl green">
{{job.budget}}
</iron-label>
<iron-label class="g_lbl grey">
[[_computeproposals(job.proposals)]] Propuestas
</iron-label>
</div>
</div>
</paper-card>
</div>
</template>
我将提案数据传递给函数_computeproposals(job.proposals),这里我需要返回提案中的子节点数:
_computeproposals:function(proposals){
//should return the number of proposals here
console.log(proposals);
return <<number of child nodes in proposals>>;
}
答案 0 :(得分:1)
它似乎是一个对象,因此它没有.length
,请使用Object.keys
:
Object.keys(proposals).length;
答案 1 :(得分:0)
这只是一个数组,对吗?在这种情况下,您可以使用proposals.length
。您可以在模板中使用[[job.proposals.length]]
,也可以在函数中使用return proposals && proposals.length || 0;
。