使用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 相关文章推荐
xss文件页面内容读取(解决)
Nov 28 Javascript
Wordpress ThickBox 点击图片显示下一张图的修改方法
Dec 11 Javascript
基于JQuery 滑动与动画的说明介绍
Apr 18 Javascript
js如何实现设计模式中的模板方法
Jul 23 Javascript
js的.innerHTML = &quot;&quot;IE9下显示有错误的解决方法
Sep 16 Javascript
各种页面定时跳转(倒计时跳转)代码总结
Oct 24 Javascript
探讨JavaScript中声明全局变量三种方式的异同
Dec 03 Javascript
60个很实用的jQuery代码开发技巧收集
Dec 15 Javascript
JS简单实现无缝滚动效果实例
Aug 24 Javascript
微信小程序开发入门基础教程
Apr 19 Javascript
Angular 4 依赖注入学习教程之FactoryProvider的使用(四)
Jun 04 Javascript
JavaScript实现重力下落与弹性效果的方法分析
Dec 20 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
php对数组排序的简单实例
2013/12/25 PHP
浅析THINKPHP的addAll支持的最大数据量
2015/02/03 PHP
JS中引用百度地图并将百度地图的logo和信息去掉
2013/09/29 Javascript
jQuery读取和设定KindEditor值的方法
2013/11/22 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
javascript中expression的用法整理
2014/05/13 Javascript
JS应用正则表达式转换大小写示例
2014/09/18 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
2015/03/26 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
原生JS实现简单放大镜效果
2017/02/08 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
2017/07/24 Javascript
Angular2监听页面大小变化的解决方法
2017/10/09 Javascript
Vue中保存数据到磁盘文件的方法
2018/09/06 Javascript
vue-cli的工程模板与构建工具详解
2018/09/27 Javascript
jQuery实现点击图标div循环放大缩小功能
2018/09/30 jQuery
js实现导航跟随效果
2018/11/17 Javascript
JS中的防抖与节流及作用详解
2019/04/01 Javascript
Python绘制的二项分布概率图示例
2018/08/22 Python
Python重新加载模块的实现方法
2018/10/16 Python
在python 不同时区之间的差值与转换方法
2019/01/14 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
python访问hdfs的操作
2020/06/06 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
Django框架请求生命周期实现原理
2020/11/13 Python
表达自我的市场:Society6
2018/08/01 全球购物
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
ShellScript面试题一则-ShellScript编程
2014/06/24 面试题
护士试用期自我鉴定
2014/02/08 职场文书
电子信息工程自荐信
2014/05/26 职场文书
群众路线教育实践活动民主生活会个人检查对照思想汇报
2014/10/04 职场文书
2014年车间主任工作总结
2014/12/10 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
费用申请报告范文
2015/05/15 职场文书
JS代码编译器Monaco使用方法
2021/06/11 Javascript