<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="vendor/bootstrap3/css/bootstrap.min.css" />
<script type="text/javascript" src="vendor/angularjs/angular.min .js"></script>
<script type="text/javascript">
var cartController = function($scope){
$scope.cart= [
{
id:1000,
name:"iphone6s",
quantity:3,
price:6088
},
{
id:2000,
name:"iphone5",
quantity:30,
price:5088
},
{
id:3000,
name:"imac",
quantity:10,
price:23000
},
{
id:4000,
name:"ipad",
quantity:6,
price:6900
}
]
/*计算总价*/
$scope.totalPrice = function(){
var total = 0;
angular.forEach($scope.cart,function(item){
total += item.price*item.quantity;
})
return total;
}
/*计算总数量*/
$scope.totalQuantity = function(){
var total = 0;
angular.forEach($scope.cart,function(item){
total += item.quantity;
})
return total;
}
$scope.remove = function(id){
var index = findIndex(id);
if(index!== -1){
$scope.cart.splice(index,1);
}
}
$scope.add = function(id){
var index = findIndex(id);
if(index !== -1){
++$scope.cart[index].quantity;
}
}
$scope.reduce = function(id){
var index = findIndex(id);
if(index !== -1){
var item = $scope.cart[index];
if(item.quantity>1){
--item.quantity;
}else{
var returnkey = confirm("从购物车中删除该商品吗?");
if(returnkey){
$scope.remove(id);
}
}
}
}
/*
*查找元素索引
*/
var findIndex = function(id){
var index = -1;
angular.forEach($scope.cart,function(item,key){
if(item.id === id){
index = key;
return;
}
})
return index;
}
/* 监听表单数字大小 小于1 提示是否删除 */
$scope.$watch("cart",function(newValue,oldValue){
angular.forEach(newValue,function(item,key){
if(item.quantity<1){
var returnkey = confirm("从购物车中删除该商品吗?");
if(returnkey){
$scope.remove(item.id);
}else{
item.quantity=oldValue[key].quantity;
} }
})
},true)
}
</script>
</head>
<body ng-app>
<div class="container" ng-controller="cartController">
<table class="table" ng-show="cart.length">
<thead>
<tr>
<th>产品编号</th>
<th>产品名字</th>
<th>购买数量</th>
<th>产品单价</th>
<th>产品总价</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in cart">
<td>{{item.id}}</td>
<td>{{item.name}}</td>
<td>
<button type="button" class="btn btn-primary" ng-click="reduce(item.id)">-</button>
<input type="text" value="{{totalQuantity()}}" ng-model="item.quantity" maxlength="4"/>
<button type="button" class="btn btn-primary" ng-click="add(item.id)">+</button>
</td>
<td>{{item.price}}</td>
<td>{{item.price * item.quantity}}</td>
<td>
<button type="button" ng-click="remove(item.id)" class="btn btn-danger">移除</button>
</td>
</tr>
<tr>
<td>总购买价</td>
<td>{{totalPrice()}}</td>
<td>总购买数量</td>
<td>
{{totalQuantity()}}
</td>
<td colspan="2">
<button type="button" class="btn btn-danger" ng-click="cart={}">清空购物车</button>
</td>
</tr>
</tbody>
</table>
<p ng-show="!cart.length"> 您的购物车为空!</p>
</div> </body>
</html>

页面展示效果:

aaarticlea/png;base64,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" alt="" />

-------------the end---------

angularJs 购物车模型的更多相关文章

  1. angularjs 的模型无法绑定到隐藏域(input hidden)

    描述一下问题: 在操作表单中的隐藏域的时候发现angularjs的模型无法绑定,比如: <input type="hidden" name="someData&qu ...

  2. angularjs购物车效果

    用angularjs写了一个购物车效果中. html代码: <div png-app="myAp" ng-controller="conTroll"> ...

  3. angularjs购物车练习

    本文是一个简单的购物车练习,功能包括增加.减少某商品的数量,从而影响该商品的购买总价以及所有商品的购买总价:从购物车内移除一项商品:清空购物车. 页面效果如图: 若使用js或jQuery来实现这个页面 ...

  4. AngularJS:模型

    ylbtech-AngularJS:模型 1.返回顶部 1. AngularJS ng-model 指令 ng-model 指令用于绑定应用程序数据到 HTML 控制器(input, select, ...

  5. 基于HTML的购物车模型的代码设计

    HTML代码 <html lang="en"> <head> <meta charset="UTF-8"> ​ ​ < ...

  6. 动态枢轴网格使用MVC, AngularJS和WEB API 2

    下载shanuAngularMVCPivotGridS.zip - 2.7 MB 介绍 在本文中,我们将详细介绍如何使用AngularJS创建一个简单的MVC Pivot HTML网格.在我之前的文章 ...

  7. angularJS(5)

    angularJS(5) 一,数据循环:特别要注意作用域 使用ng-repeat指令. <div ng-app="myApp" ng-controller="myC ...

  8. AngularJs之四

    一,数据循环:特别要注意作用域 使用ng-repeat指令. <div ng-app="myApp" ng-controller="myCtrl"> ...

  9. AngularJS基础入门初探

    一.AngularJS简介 1.1 什么是AngularJS (1)一款非常优秀的前端JS框架,可以方便实现MVC/MVVM模式 (2)由Misko Hevery 等人创建,2009年被Google所 ...

随机推荐

  1. centos使用yum安装gcc

    yum -y install gccyum -y install gcc-c++yum install make -- 或者yum groupinstall "Development Too ...

  2. NetBeans菜单栏字体太小了

    NetBeans菜单栏字体太小了,导致很难看 解决方法:在netbeans的快捷方式内加入"netbeans.exe" --fontsize 12参数.还可以通过配置NetBean ...

  3. ADO.NET-temple

    ylbtech-ADO.NET:ADO.NET-Oracle|SQLServer|MySql|Access|Excel-dddd 介绍及讲解 1.A,插入数据(Create) 1.B,读取数据(Rea ...

  4. 3D立体显示技术原理与游戏应用历程简介 【转】

    本文来自 中关村ZOL 「3D 立体显示」可说是近来娱乐产业相当热门的话题,不但有好莱坞推出<阿凡达>等卖座 3D 立体电影,全球各大家电厂商也积极布局准备推出一系列支持 3D 立体显示的 ...

  5. df、du、fdisk:Linux磁盘管理

    磁盘是Linux系统中一项非常重要的资源,如何对其进行有效的管理直接关系到整个系统的性能问题.对Linux磁盘管理稍微有一些学习和经验的朋 友们应该都知道df.du和fdisk这三个常用命令:df用于 ...

  6. 计算机网络漫谈:OSI七层模型与TCP/IP四层(参考)模型

    提纲.png 一.七层?四层? OSI模型(Open System Interconnection Reference Model,缩写为OSI),全名“开放式系统互联通信参考模型”,是一个试图使各种 ...

  7. mongodb配置副本集(多台服务器间的副本集搭建) replica[ˈrɛplɪkə]

    副本集具有多个副本保证了容错性,就算一个副本挂掉了还有很多副本存在,并且解决了“主节点挂掉了,整个集群内会自动切换”的问题.我们来看看mongoDB副本集的架构图: 由图可以看到客户端连接到整个副本集 ...

  8. 一个JavaScript Function Outliner插件 第三个版本 让你的JavaScript代码也支持折叠

    下面我只以英文的vs2008版本作为实例,演示一下打开vs2008 然后一次点击:Tools->Options (工具->选项)会弹出选项设置框在左边的树目录里展开Environment- ...

  9. JSP简单练习-用Servlet获取表单数据

    // javaBean代码 package servlet; import java.io.*; import javax.servlet.*; import javax.servlet.http.* ...

  10. Android学习笔记(24):进度条组件ProgressBar及其子类

    ProgressBar作为进度条组件使用,它还派生了SeekBar(拖动条)和RatingBar(星级评分条). ProgressBar支持的XML属性: Attribute Name Related ...