2014-10-17 123 views
0

例子:如何計算聚合物中重複結合的總數?

<div id="order"> 
     <template repeat="{{items as item}}"> 
      <p> 
       <span>{{item.id}}</span> 
       <span class="price">{{item.price}}</span> 
       <span class="qty">{{item.qty}}</span> 
      </p> 
      {{cpuTotal(item.qty*item.price)}} 
     </template> 
     <p>Total {{total}}</p> 
    </div> 
    <script> 
     Polymer('my-form', { 
      total:0, 
      cpuTotal:function(x){ 
       this.total=this.total+x 
       console.log(this.total)     
      } 
     }) 
    </script> 
</polymer-element> 

是否有使用計算的結合,所以我可以做{{total=total+(item.price*item.qty)}}的方式,你能做到這一點?

編輯: 現在的問題是,this.total是每個單獨項目的總和?因此,對於模板中的每個生成的項目,我都有一個單獨的總數,而不是它們的總和。

回答

1

我會堅持這種邏輯到一個函數(比如,computedTotal()),然後,而不是這樣的:

<p>Total: {{total}}</p> 

我會有這樣的:

<p>Total: {{computedTotal()}}</p> 

computedTotal()可能看起來像這樣的事情:

computedTotal: function() { 
    var total = 0; 
    for (var i = 0; i < this.items.length; i++) { 
     total += (this.items[i].price * this.items[i].qty); 
    } 
    return total; 
} 

我會避免太多的登錄在第e模板本身。

+0

我試過了下面看編輯 – 2014-10-17 21:44:17