【发布时间】:2016-03-03 09:31:17
【问题描述】:
我想要嵌套重复中的小计,把它想象成购物车,但购物车被分成产品(鞋子、夹克)或其他一些嵌套结构。
所以我认为(至少)有 3 种不同的方法可以达到相同的结果。有什么区别,特别是在性能方面,我应该使用哪个(对于大量数据)?
值得注意的是,这更多地是关于数据呈现(如管理视图),而不仅仅是关于如何总计购物车的问题(已经讨论了很多!)。更多关于如何从数据的角度处理它,当您有大量购物车和大量其他计算,例如平均成本、累积成本......人们在星期二(或其他任何时候)最喜欢的颜色时。
在模板中
<table>
<tr ng-repeat="product in cart.products">
<td>{{product.name}}</td>
<table>
<tr ng-repeat="item in product.items">
<td>{{item.name}}</td>
<td>{{item.cost}}</td>
</tr>
</table>
<td>{{ getProductTotal(product) }}</td>
</tr>
<tr>{{ getCartTotal() }}</tr>
</table>
对象的属性
$scope.cart = {
person: "Nicky poppy pie",
products: {},
total: function () {
var total = 0;
foreach(product...)
return total;
}
};
或
$scope.cart = {};
$scope.cart.total = getCartTotal()
function getCartTotal() {
//insert crazy calculations
}
观察者
$scope.$watch('cart', function() {
var cartTotal = 0;
$scope.cartItems.forEach(function(product) {
cartTotal += product.cost();
});
$scope.cartTotal = cartTotal;
}, true);
【问题讨论】:
标签: javascript angularjs data-binding