2017-03-29 58 views
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'); 

     }; 

但它不會刪除的數量,它只是清除的項目,數量還在繼續,如何刪除一切,包括數量?我不知道該怎麼辦...

謝謝!

回答

0

解決了與:

var cart = sharedCartService.cart; 
     sharedCartService.cart.splice(0, sharedCartService.cart.length); 

     sharedCartService.total_qty = 0; 
     sharedCartService.total_amount = 0;