angular 购物车商品清单修改结算代码
示例代码:
var cartController = function($scope){
$scope.cart = [
{
id:100,
name:'iphone5s',
quantity:2,
price:4300
},
{
id:130,
name:'iphone5',
quantity:1,
price:2100
},
{
id:200,
name:'imac',
quantity:5,
price:14300
},
{
id:110,
name:'ipid',
quantity:30,
price:3300
}
];
//总购买数量
$scope.totalQuantity = function(){
var total = 0;
angular.forEach($scope.cart,function(item){
total += parseInt(item.quantity);
});
return total;
};
//总购买价格
$scope.totalPrice = function(){
var total = 0;
angular.forEach($scope.cart,function(item){
total += parseInt(item.quantity*item.price);
});
return total;
};
//找一个项目
$scope.findItem = function(id){
var index = -1;
angular.forEach($scope.cart, function(item, key){
if(item.id === id){
index = key;
return;
};
});
return index;
};
//移除table
$scope.remove = function(id){
var index = $scope.findItem(id);
if(index !== -1){
$scope.cart.splice(index,1);
};
};
//减少一个商品数量
$scope.reduce = function(id){
var index = $scope.findItem(id);
if(index !== -1){
var item = $scope.cart[index]
if(item.quantity>1){
--item.quantity;
} else{
var returnKey = confirm("是否从购物车中删除该产品!");
if(returnKey){
$scope.remove(id);
}
}
}
};
//增加一个商品数量
$scope.add = function(id){
var index = $scope.findItem(id);
if(index !== -1){
++$scope.cart[index].quantity;
};
};
$scope.$watch('cart',function(newvalue,oldvalue){
angular.forEach(newvalue, function(item, key){
if(item.quantity < 1 && item.quantity!==''){
var returnKey = confirm("是否从购物车中删除该产品!");
if(returnKey){
$scope.remove(id);
}else{
item.quantity = oldvalue[key].quantity;
};
};
});
},true);
}