使用Angular.js实现简单的购物车功能


Posted in Javascript onNovember 21, 2016

先给大家分享实现代码,在代码下面有效果图展示,大家可以两者结合参考下,废话不多说了,具体代码如下所示:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="http://code.angularjs.org/1.2.5/angular.min.js"></script>
<style type="text/css">
td,th{
width: 150px;
text-align: left;
}
table{
width: 800px;
}
.num{
width: 70px;
text-align: center;
}
tr td:last-child button {
background-color: red;
}
#foot button{
background-color: red;
}
</style>
</head>
<!--ng-bind是从$scope -> view的单向绑定ng-modle是$scope <-> view的双向绑定
{{}} 与 ng-bind 的区别是后者在加载时用户不会看到渲染之前的东西,前者可能会看到,所以首页一般用后者加载数据
-->
<body ng-app="myApp">
<div ng-controller="VC1">
<table border="" cellspacing="" cellpadding="">
<tr><th>产品编号</th><th>产品名称</th><th>购买数量</th><th>产品单价</th><th>产品总价</th><th>操作</th></tr>
<tr ng-repeat="x in Product" >
<td>{{x.id}}</td>
<td>{{x.name}}</td>
<td>
<button ng-click="reduce($index)">-</button>
<input type="text" class="num" ng-model="x.quantity" ng-change="change($index)" />
<button ng-click="add($index)">+</button> </td>
<td >{{x.price}}</td>
<td>{{x.price * x.quantity}}</td>
<td><button ng-click="remove($index)">移除</button></td></tr>
</table>
<div id="foot"><span>总价:</span><span ng-bind="totalQuantity()"></span><span>购买数量</span>
<span >{{numAll()}}</span> <button ng-click="removeAll()">清空购物车</button> </div>
</div>
</body>
<script type="text/javascript">
var app = angular.module("myApp",[]);
app.controller("VC1",function($scope){
$scope.Product = [{
id: 1000,
name: "iPhone8",
quantity: 1,
price: 8888
}, {
id: 1001,
name: "iPhone9",
quantity: 1,
price: 9888
}, {
id: 1002,
name: "iPhone 2s",
quantity: 1,
price: 3888
}, {
id: 1003,
name: "iPhone 7P+",
quantity: 1,
price: 10088
}];
//减少数量
$scope.reduce = function(index){
if( $scope.Product[index].quantity > 1){
$scope.Product[index].quantity--;
}else{
$scope.remove(index);
}
}
//添加数量函数
$scope.add = function(index){
$scope.Product[index].quantity++;
}
//所有商品总价函数
$scope.totalQuantity = function(){
var allprice = 0
for(var i = 0 ; i <$scope.Product.length;i++ ){
allprice += $scope.Product[i].quantity * $scope.Product[i].price;
}
return allprice;
}
//购买总数量函数
$scope.numAll = function(){
var numAlls = 0
for(var i = 0 ; i <$scope.Product.length;i++ ){
numAlls += $scope.Product[i].quantity;
}
return numAlls;
}
//删除当前商品
$scope.remove = function(index){
if(confirm("确定要清空数据吗")){
$scope.Product.splice(index,1)
}
}
//清空购物车
$scope.removeAll = function(){
if(confirm("你确定套清空购物车所有商品吗?")){
$scope.Product = [];
}
}
//解决输入框输入负数时变为1
$scope.change = function(index){
if ( $scope.Product[index].quantity >= 1) {
}else{
$scope.Product[index].quantity = 1;
}
}
$scope.$watch('Product',function(oldvalue,newvalue){
console.log(oldvalue);
console.log(newvalue);
})
})
</script>
</html>

效果图展示如下:

使用Angular.js实现简单的购物车功能

以上所述是小编给大家介绍的使用Angular.js实现简单的购物车功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Jquery中dialog属性小记
Sep 03 Javascript
jquery map方法使用示例
Apr 23 Javascript
jQuery中add()方法用法实例
Jan 08 Javascript
js判断浏览器类型及设备(移动页面开发)
Jul 30 Javascript
JavaScript运动减速效果实例分析
Aug 04 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
Nov 10 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
Aug 01 Javascript
聊一聊jQuery插件uploadify使用方法
Aug 24 Javascript
jquery操作ID带有变量的节点实例
Dec 07 Javascript
jQuery实现的页面遮罩层功能示例【测试可用】
Oct 14 jQuery
使用element-ui table expand展开行实现手风琴效果
Mar 15 Javascript
VUEX采坑之路之获取不到$store的解决方法
Nov 08 Javascript
jQuery设置Easyui校验规则(推荐)
Nov 21 #Javascript
JS实现图片上传预览功能
Nov 21 #Javascript
值得分享的JavaScript实现图片轮播组件
Nov 21 #Javascript
使用Ajax生成的Excel文件并下载的实例
Nov 21 #Javascript
javascript入门之数组[新手必看]
Nov 21 #Javascript
jQuery UI插件实现百度提词器效果
Nov 21 #Javascript
javascript中Number的方法小结
Nov 21 #Javascript
You might like
PHP5中GD库生成图形验证码(有汉字)
2013/07/28 PHP
双冒号 ::在PHP中的使用情况
2015/11/05 PHP
一个不错的用JavaScript实现的UBB编码函数
2007/03/09 Javascript
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
NodeJS学习笔记之Connect中间件模块(一)
2015/01/27 NodeJs
js跨域请求的5中解决方式
2015/07/02 Javascript
javascript实现判断鼠标的状态
2015/07/10 Javascript
浅谈javascript中new操作符的原理
2016/06/07 Javascript
JS实现搜索框文字可删除功能
2016/12/28 Javascript
JavaScript简单生成 N~M 之间随机数的方法
2017/01/13 Javascript
[原创]jquery判断元素内容是否为空的方法
2018/05/04 jQuery
AngularJS与后端php的数据交互方法
2018/08/13 Javascript
详解vue中使用vue-quill-editor富文本小结(图片上传)
2019/04/24 Javascript
微信小程序的线程架构【推荐】
2019/05/14 Javascript
vue 动态给每个页面添加title、关键词和描述的方法
2020/08/28 Javascript
Python3中bytes类型转换为str类型
2018/09/27 Python
Flask实现跨域请求的处理方法
2018/09/27 Python
浅谈python下tiff图像的读取和保存方法
2018/12/04 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
2019/06/27 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
2019/07/06 Python
django model的update时auto_now不被更新的原因及解决方式
2020/04/01 Python
Pymysql实现往表中插入数据过程解析
2020/06/02 Python
Django-simple-captcha验证码包使用方法详解
2020/11/28 Python
浅析HTML5页面元素及属性
2021/01/20 HTML / CSS
国际化的太阳镜及太阳镜配件零售商:Sunglass Hut
2016/07/26 全球购物
美国在线自行车商店:Jenson USA
2018/05/22 全球购物
俄罗斯宠物用品网上商店:ZooMag
2019/12/12 全球购物
Java中的基本数据类型所占存储空间大小固定的吗
2012/02/15 面试题
优秀应届毕业生推荐信
2014/02/18 职场文书
工程售后服务承诺书
2014/05/21 职场文书
就业协议书样本
2014/08/20 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
员工家属慰问信
2015/03/24 职场文书
电影建国大业观后感
2015/06/01 职场文书
2015年迎新晚会策划书
2015/07/16 职场文书
2015年秋季运动会加油稿
2015/07/22 职场文书