计算dom-repeat内的子节点

时间:2016-11-24 20:16:14

标签: javascript polymer polymer-1.0 polymerfire

我正在尝试计算模板dom-repeat中的子节点。我正在使用firebase-query提取数据。

在dom-repeat内部我想显示提案对象的子节点数。该图显示了firebase中的数据结构,dom-repeat循环所有作业。

enter image description here

   <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">
            &nbsp;{{job.budget}}&nbsp;&nbsp;
        </iron-label>
        <iron-label class="g_lbl grey">
            &nbsp;[[_computeproposals(job.proposals)]] Propuestas&nbsp;
        </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>>;
        }

的console.log(建议): enter image description here

2 个答案:

答案 0 :(得分:1)

它似乎是一个对象,因此它没有.length,请使用Object.keys

Object.keys(proposals).length;

答案 1 :(得分:0)

这只是一个数组,对吗?在这种情况下,您可以使用proposals.length。您可以在模板中使用[[job.proposals.length]],也可以在函数中使用return proposals && proposals.length || 0;