1
我有一個看起來像這樣的服務(你可以看到它從一個購物車的。)如何在他的離子/ AngularJs
使用完畢清潔服務我想重置/刪除這個購物車帶有一個按鈕(購買更多新商品「),作出新的訂單,但是它之前的訂單數量繼續,並且每當它發出新的訂單時,總計與之前的訂單數量。我試圖重置/刪除此購物車的按鈕(購買更多新商品「),作出新的訂單,但是繼續訂購之前的數量,以及每當它發出新的購買訂單時,與先前的訂購數量相加。
它的服務,以便正確的是它的結束說用途:
angular.module('nhaac.services', [])
.factory('sharedCartService', ['$ionicPopup',function($ionicPopup){
// OKAY, MAS ONDE ELE ESTÁ PEGANDO?
// DECLARA AS VARIÁVEIS
var cartObj = {};
cartObj.cart=[];
cartObj.total_amount=0;
cartObj.total_qty=0;
// VERIFICA DE JÁ EXISTE ITENS NO CARRINHO
cartObj.cart.add=function(id,image,name,price,qty,supply_id,deliver){
if(cartObj.cart.find(id)!=-1 ){
var alertPopup = $ionicPopup.alert({
title: 'Este produto já foi Adicionado',
template: 'Acrescente mais quantidade abaixo da oferta no carrinho'
});
// }if (CartObj, { 'cart_item_supply': supply_id}) {
}if (cartObj.cart.findvovo(supply_id) !=-1){
var alertPopup = $ionicPopup.alert({
title: "Você só pode comprar de uma única Vovó por vez",
template: "Volte ao carrinho e escolha a opção COMPRAR MAIS DELICIAS."
});
}else{
cartObj.cart.push({ "cart_item_id": id , "cart_item_image": image , "cart_item_name": name , "cart_item_price": price , "cart_item_qty": qty, "cart_item_supply": supply_id, "cart_item_deliver": deliver });
cartObj.total_qty+=1;
cartObj.total_amount+=parseInt(price);
console.log(cartObj);
}
};
// PROCURA PRODUTOS NO CARRINHO PELO ID
cartObj.cart.find=function(id){
var result=-1;
for(var i = 0, len = cartObj.cart.length; i < len; i++) {
if(cartObj.cart[i].cart_item_id === id) {
result = i;
console.log(result);
break;
}
}
return result;
};
// PROCURA COD FORNECEDOR É IGUAL
cartObj.cart.findvovo=function(supply_id){
var result=-1;
for(var i = 0, len = cartObj.cart.length; i < len; i++) {
if(cartObj.cart[i].cart_item_supply === supply_id) {
result = i;
console.log('Qual Vovo achou '+result);
break;
}
};
return result;
};
// CLEAN CART
cartObj.cart.drop=function(id){
var temp=cartObj.cart[cartObj.cart.find(id)];
cartObj.total_qty-= parseInt(temp.cart_item_qty);
cartObj.total_amount-=(parseInt(temp.cart_item_qty) * parseInt(temp.cart_item_price));
window.localStorage.removeItem("fonecedor_carrinho",cartObj.supply_id);
cartObj.cart.splice(cartObj.cart.find(id), 1);
};
// ADD ITENS TO CART
cartObj.cart.increment=function(id){
cartObj.cart[cartObj.cart.find(id)].cart_item_qty+=1;
cartObj.total_qty+= 1;
cartObj.total_amount+=(parseInt(cartObj.cart[cartObj.cart.find(id)].cart_item_price));
};
// DIMINUI A QUANTIDADE DE ITENS NO CARRINHO
cartObj.cart.decrement=function(id){
cartObj.total_qty-= 1;
cartObj.total_amount-= parseInt(cartObj.cart[cartObj.cart.find(id)].cart_item_price) ;
if(cartObj.cart[cartObj.cart.find(id)].cart_item_qty == 1){ // if the cart item was only 1 in qty
cartObj.cart.splice(cartObj.cart.find(id) , 1); //edited
}else{
cartObj.cart[cartObj.cart.find(id)].cart_item_qty-=1;
}
};
console.log('chama return');
return cartObj;
}])
你可以看到它從一個購物車的。
我試圖刪除這樣的這項服務:
$scope.novoPedido = function() {
// CLEAN CART SHOP
var cart = sharedCartService.cart;
sharedCartService.cart.splice(0, sharedCartService.cart.length);
// sharedCartService.cart.drop("");
>> This dont work
// $state.go('novopedido');
};
但它不會刪除的數量,它只是清除的項目,數量還在繼續,如何刪除一切,包括數量?我不知道該怎麼辦...
謝謝!