2017-07-16 26 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