2017-07-16 24 views
0


我正在開發購物車。
假設我們的產品A有3種變體,例如A1,A2和A3。
買方可以選擇任何數量的變體。
例如:他可以購買A1 -10單位,A2-2單位,然後他繼續結賬。
由於A1 & A2是A的變體,所以它們都在單個JSON中稱爲「產品」。
因此,首先我要列出所有產品,然後用戶選擇一種產品,選擇其數量的變體。
因此,我正在爲e.x「A」獲取單個選定的產品,然後在下一頁中顯示它的變體。
現在用戶可以爲每個變體選擇數量。
如何生成隨機數據集的按鈕

樣品:
產品A
Varant A1:Qunatity:+ [] -
Varant A2:Qunatity:+ [] -
Varant A3:Qunatity:+ [] -
當用戶點擊+/-按鈕時,那麼只有該變量應增加/減少1.
我正在使用角度js來消費web服務。
服務器代碼是在node.js的
控制器代碼

$scope.getProduct = function() { 
      var id = $routeParams.id; 
      $http.get('/products/allProducts/'+id).then(function(res){ 

       $scope.product=res.data; 

     }); 
    } 


產品詳細信息

<a href="/home" class=" btn-danger">[ HOME PAGE ]</a> 

<div ng-init="getProduct()"> 

    <div class="row"> 
    <ul> 
     <li> {{product._id}}</li> 
     <li>{{product.productName}}</li> 
     <li>{{product.productDescription}}</li> 
     <li>{{product.merchantId}}</li> 
     <li> 
      <p ng-repeat="value in product.productStock"> 
         <span>Sizes :<button ng-click="addMethod()" >ADD</button> {{value.size}}- {{value.color}}- {{value._id}} --count[ {{add}} ] 
         <button ng-click="subMethod()">SUB</button> </span> 
     </li> 

    </ul> 


    <div>total count : {{add}}</div> 


請幫助。

回答

0
<a href="/home" class=" btn-danger">[ HOME PAGE ]</a> 

<div ng-init="getProduct()"> 

<div class="row"> 
<ul> 
    <li> {{product._id}}</li> 
    <li>{{product.productName}}</li> 
    <li>{{product.productDescription}}</li> 
    <li>{{product.merchantId}}</li> 
    <li> 
     <p ng-repeat="value in product.productStock"> 
        <span>Sizes :<button ng-click="addMethod(product._id, $index)" >ADD</button> {{value.size}}- {{value.color}}- {{value._id}} --count[ {{add}} ] 
        <button ng-click="subMethod()">SUB</button> </span> 
    </li> 

</ul> 


<div>total count : {{add}}</div> 

通知我只是改變了addMethod函數的參數

然後在addMethod,像這樣

$scope.addMethod = function (id_product, index){ 
    let product = product.findById(id); 
    product.productStock[index] ++; 
} 

產品的ID optionnal;它取決於你的數據在你的網站中的處理方式,我假設有相同控制器的多個產品,所以findById可能是一個simpel array.find方法,它取決於你。

+0

好吧,但我想,按鈕點擊時,我會保存產品變體ID,它在數組中計數,並在結帳時使用這些ID我可以處理訂單,你說什麼。 ? –

+0

是的,這是一個很好的方法。 :)只需創建一個對象數組並像這樣存儲它。如果需要將「購物車」保存在多個頁面中,最好將其存儲在RAM和本地存儲中。 – Alburkerk