前端之家收集整理的这篇文章主要介绍了
Angular实现购物车计算示例代码,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用AngularJS实现一个简单的购物车,主要感受强大的双向绑定和只关注对象不关注界面特性。
先看看界面:
点击+-操作和删除:
这些全部只需要操作数据源就行,不需要关注界面。
实现过程:
一、使用任何语言创建一个服务端:
cars = new List
{
new ShoppingCar { Title="苹果",Count=1,UnitPrice=2.5m},new ShoppingCar { Title="香蕉",Count=3,UnitPrice=1.5m},new ShoppingCar { Title="苦瓜",UnitPrice=3.5m},new ShoppingCar { Title="黄瓜",UnitPrice=2.2m}
};
return Json(cars,JsonRequestBehavior.AllowGet);
}
public ActionResult AddCar(List<ShoppingCar> car)
{
return Json("ok",JsonRequestBehavior.AllowGet);
}</pre>
二、前台实现:
总价格:{{ total | number:2}}
app.controller('CartController',['$scope','$http',function ($scope,$http) {
$scope.ShoppingCar = {}
var GetCar = function () {
$http.get('/Employee/GetCar')
.success(function (response) {
$scope.ShoppingCar = response;
GetTotal();
});
}
$scope.total = 0;
var GetTotal = function () {
for (var i = 0; i < $scope.ShoppingCar.length; i++) {
var item = $scope.ShoppingCar[i];
$scope.total += item.Count * item.UnitPrice;
}
}
$scope.UpdateCar = function (title,count) {
for (var i = 0; i < $scope.ShoppingCar.length; i++) {
var item = $scope.ShoppingCar[i];
if (item.Title == title) {
item.Count = item.Count + count;//这里可以增<a href="/tag/jiashang/" target="_blank" class="keywords">加上</a>下限制
if (item.Count < 0) {
$scope.ShoppingCar.splice(i,1);
}
}
}
GetTotal();
}
$scope.submit = function () {
$http.post('/Employee/AddCar',$scope.ShoppingCar)
.success(function (response) {
alert(response);
});
}
GetCar();
}]);