我正在开发购物车。
假设我们有产品A有3种变体,例如A1,A2和A3
买方可以选择任意数量的任何变量
例如:他可以购买A1 -10单位,A2-2单位,然后他继续结账
既然A1和A1都是A2是A的变体,因此它们都是单个JSON,名为" Products"。
首先,我列出所有产品,然后用户选择一个产品,选择数量的变体
所以我正在为e.x" A"然后在下一页显示它的变种。
现在,用户可以为每个变体选择数量。
样品:
产品A
Varant A1:Qunatity:+ [] -
Varant A2:Qunatity:+ [] -
Varant A3:Qunatity:+ [] -
当用户点击 +/- 按钮时,只有该变量应递增/递减1。
我使用角度js来使用webservice。
服务器代码在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 :(得分: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是可选的;这取决于你的数据在你的网站中的处理方式,我假设同一个控制器有多个产品,所以findById可能是一个简单的array.find方法,它取决于你。