【发布时间】:2020-03-05 01:31:40
【问题描述】:
我有一个菜鸟问题,那就是在我结账之前,将购物车页面中一个对象(购物车)的总和相加。
每次我从一个屏幕导航到另一个屏幕时,数量都会不断增加
我希望总数为 159,或者如果我添加更多产品,则为正确的数量
SourceCode
【问题讨论】:
-
请分享示例代码而不是图片。
标签: javascript angular typescript ionic3
我有一个菜鸟问题,那就是在我结账之前,将购物车页面中一个对象(购物车)的总和相加。
【问题讨论】:
标签: javascript angular typescript ionic3
在StackBlitz Link 中找到完整的工作示例
您只需要使用 reduce() 数组函数计算购物车数量。
this.total = this.cart.reduce( (acc,curVal) => {
return acc + (curVal.amount * curVal.quantity);
//this.temp.push( curVal.amount * curVal.quantity);
},0)
【讨论】:
尝试替换这段代码:
this.cartItems.forEach((value, index) => {
this.totalAmount += parseInt(value.amount);
});
用这个:
this.totalAmount = this.cartItems.reduce((acc, item) => {
return acc += item.amount;
}, 0);
在第一种情况下,您向现有值添加一个新值。而在reduce 版本中,它应该重写totalAmount。
【讨论】:
data.quantity 字段。没有这个totalAmount 是错误的。