示例:
<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
是每个单独项目的总和?因此,对于模板中的每个生成的项目,我都有一个单独的总数而不是它们的总和。
答案 0 :(得分: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;
}
我会避免在模板中加入过多的登录信息。