使用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实现轮显新闻标题链接
Aug 13 Javascript
javascript 基础篇2 数据类型,语句,函数
Mar 14 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
Apr 02 Javascript
jQuery中wrapAll()方法用法实例
Jan 16 Javascript
用自定义图片代替原生checkbox实现全选,删除以及提交的方法
Oct 18 Javascript
JQuery 封装 Ajax 常用方法(推荐)
May 21 jQuery
js 发布订阅模式的实例讲解
Sep 10 Javascript
jQuery中过滤器的基本用法示例
Oct 11 jQuery
webpack构建换肤功能的思路详解
Nov 27 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
Jan 26 Javascript
5分钟快速掌握JS中var、let和const的异同
Sep 19 Javascript
jQuery+vue.js实现的多选下拉列表功能示例
Jan 15 jQuery
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
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
2008/12/06 PHP
TMDPHP 模板引擎使用教程
2012/03/13 PHP
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
yum命令安装php7和相关扩展
2016/07/04 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
2016/11/03 PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
2019/10/30 PHP
PHP 扩展Memcached命令用法实例总结
2020/06/04 PHP
jquery实现弹出窗口效果的实例代码
2013/11/28 Javascript
自定义jquery模态窗口插件无法在顶层窗口显示问题
2014/05/29 Javascript
JQuery中Bind()事件用法分析
2015/05/05 Javascript
深入理解Angularjs中的$resource服务
2016/12/31 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
Angularjs 事件指令详细整理
2017/07/27 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
JavaScript数据结构与算法之队列原理与用法实例详解
2017/11/22 Javascript
React-redux实现小案例(todolist)的过程
2019/09/29 Javascript
微信小程序实现可长按移动控件
2020/11/01 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
Python学习小技巧之列表项的排序
2017/05/20 Python
Python MySQL数据库连接池组件pymysqlpool详解
2017/07/07 Python
分享一个简单的python读写文件脚本
2017/11/25 Python
python求质数的3种方法
2018/09/28 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
Python多进程fork()函数详解
2019/02/22 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
2019/06/03 Python
解决redis与Python交互取出来的是bytes类型的问题
2020/07/16 Python
PHP如何对用户密码进行加密
2014/07/31 面试题
自动化职业生涯规划书范文
2014/01/03 职场文书
应届毕业生个人求职信范文
2014/01/29 职场文书
酒店节能降耗方案
2014/05/08 职场文书
幼儿发展评估方案
2014/06/11 职场文书
超市创意活动方案
2014/08/15 职场文书
全陪导游词
2015/02/04 职场文书
2015年医院护理部工作总结
2015/04/23 职场文书
互联网创业商业模式以及赚钱法则有哪些?
2019/10/12 职场文书
Go结合Gin导出Mysql数据到Excel表格
2022/08/05 Golang