使用AngularJS实现一个简单的购物车,主要感受强大的双向绑定和只关注对象不关注界面特性。
先看看界面:
点击+-操作和删除:
这些全部只需要操作数据源就行,不需要关注界面。
实现过程:
一、使用任何语言创建一个服务端:
rush:java;">
public class ShoppingCar
{
public string Title { get; set; }
public decimal UnitPrice { get; set; }
public int Count { get; set; }
}
rush:js;">
public ActionResult GetCar()
{
List 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>
二、前台实现:
rush:js;">
总价格:{{ total | number:2}}
三、Angular部分
rush:js;">
var app = angular.module('DemoApp',[]);
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;
}
}
$s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.UpdateCar = function (title,count) {
for (var i = 0; i < $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.ShoppingCar.length; i++) {
var item = $s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.ShoppingCar[i];
if (item.Title == title) {
item.Count = item.Count + count;//这里可以增<a href="https://www.jb51.cc/tag/jiashang/" target="_blank" class="keywords">加上</a>下限制
if (item.Count < 0) {
$s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.ShoppingCar.splice(i,1);
}
}
}
GetTotal();
}
$s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.submit = function () {
$http.post('/Employee/AddCar',$s<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>e.ShoppingCar)
.success(function (response) {
alert(response);
});
}
GetCar();
}]);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。
原文地址:https://www.jb51.cc/js/41423.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。