我需要通过按清除按钮来删除所有添加到购物车中的物品。 我开始写一个函数,但是它拒绝工作。 我认为错误是我没有将物品推入购物车。 我该怎么做这两件事?无论如何,如果您发现任何错误,请提及。
angular.module('TransactionApp', [])
.controller('TransactionsCtrl', function($scope) {
$scope.title = 'Add to cart';
$scope.itemsArray = [{
price: 50,
name: "Whey protein",
img: 'img/item-1.png',
quantity: 0
},
{
price: 60,
name: "Protein bar",
img: 'img/item-1.png',
quantity: 0
},
{
price: 35,
name: "BCAA",
img: 'img/item-1.png',
quantity: 0
},
{
price: 50,
name: "Whey protein",
img: 'img/item-1.png',
quantity: 0
},
{
price: 60,
name: "Protein bar",
img: 'img/item-1.png',
quantity: 0
},
{
price: 80,
name: "BCAA",
img: 'img/item-1.png',
quantity: 0
}
];
$scope.addTo = function(item) {
item.quantity += 1;
}
$scope.getCost = function(item) {
return item.quantity * item.price;
}
$scope.cart = [];
$scope.getTotal = function() {
return $scope.itemsArray.reduce((a, b) => a + b.price * b.quantity, 0);
}
$scope.clearCart = function() {
return $scope.cart.length = 0;
};
});
答案 0 :(得分:1)
Juse重置数组中的项目,
$scope.cart = [];
您不需要返回任何内容,您可以通过使用length来获得计数。
答案 1 :(得分:1)
应该是
$scope.clearCart = function() {
$scope.cart = [];
};
答案 2 :(得分:0)
使用以下方法使其为空:
$scope.cart = [];
或一一减少:
$scope.cart.slice(start, end);//start is an index from where you want to delete and the end is number which represents how many to delete.
要在数组的最后一个索引处插入某些内容,您确实需要按下:
$scope.cart.push(item);