使用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 相关文章推荐
浅谈Javascript鼠标和滚轮事件
Jun 27 Javascript
js遍历、动态的添加数据的小例子
Jun 22 Javascript
javascript实现判断鼠标的状态
Jul 10 Javascript
jQuery选择器总结之常用元素查找方法
Aug 04 Javascript
Vue.js快速入门教程
Sep 07 Javascript
浅谈jQuery双事件多重加载的问题
Oct 05 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
Nov 07 Javascript
Vue的事件响应式进度条组件实例详解
Feb 04 Javascript
4个顶级JavaScript高级文本编辑器
Oct 10 Javascript
小程序云开发部署攻略(图文教程)
Oct 30 Javascript
vue组件命名和props命名代码详解
Sep 01 Javascript
原生JS实现音乐播放器
Jan 26 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
星际争霸, 教主第一视角, ZvT经典龙蛇演义
2020/03/02 星际争霸
PHP分页显示制作详细讲解
2006/10/09 PHP
完整删除ecshop中获取店铺信息的API
2014/12/24 PHP
js 实现打印网页中定义的部分内容的代码
2010/04/01 Javascript
在JS中最常看到切最容易迷惑的语法(转)
2010/10/29 Javascript
jQuery中each()方法用法实例
2014/12/27 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
2015/02/27 Javascript
js实现选中页面文字将其分享到新浪微博
2015/11/05 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
基于JavaScript实现移除(删除)数组中指定元素
2016/01/04 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
2016/06/12 Javascript
javascript表单控件实例讲解
2016/09/13 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
2017/05/03 Javascript
了解VUE的render函数的使用
2017/06/08 Javascript
完美解决手机网页中输入框被输入法遮挡的问题
2017/12/19 Javascript
浅析Vue实例以及生命周期
2018/08/14 Javascript
Python入门_浅谈字符串的分片与索引、字符串的方法
2017/05/16 Python
Python实现简单生成验证码功能【基于random模块】
2018/02/10 Python
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
用Python将mysql数据导出成json的方法
2018/08/21 Python
Numpy的简单用法小结
2019/08/28 Python
Django中的模型类设计及展示示例详解
2020/05/29 Python
英国户外装备商店:Ultimate Outdoors
2019/05/07 全球购物
最畅销的视频游戏享受高达90%的折扣:CDKeys
2020/02/10 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
可以在一个PHP文件里面include另外一个PHP文件两次吗
2015/05/22 面试题
青年教师典范事迹材料
2014/01/31 职场文书
幼师自我鉴定
2014/02/01 职场文书
销售口号大全
2014/06/11 职场文书
关于读书的演讲稿400字
2014/08/27 职场文书
三严三实对照检查材料范文
2014/09/23 职场文书
婚礼答谢礼品
2015/01/20 职场文书
北京颐和园导游词
2015/01/30 职场文书
读《人生的智慧》有感:闲暇是人生的精华
2019/12/25 职场文书
解决pycharm下载库时出现Failed to install package的问题
2021/09/04 Python
php去除数组中为0的元素的实例分析
2021/11/17 PHP