使用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 相关文章推荐
贴一个在Mozilla中常用的Javascript代码
Jan 09 Javascript
使用jQuery实现dropdownlist的联动效果(sharepoint 2007)
Mar 30 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
Mar 18 Javascript
jquery操作select大全
Apr 25 Javascript
wap浏览自动跳转到wap页面的js代码
May 17 Javascript
js HTML5 Ajax实现文件上传进度条功能
Feb 13 Javascript
JS创建对象几种不同方法详解
Mar 01 Javascript
JavaScript正则表达式小结(test|match|search|replace|split|exec)
Dec 08 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
Apr 25 Javascript
Angular.js中window.onload(),$(document).ready()的写法浅析
Sep 28 Javascript
JavaScript中关于class的调用方法
Nov 28 Javascript
解决vuex刷新数据消失问题
Nov 12 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实现Ftp用户的在线管理的代码
2007/03/06 PHP
php简单随机字符串生成方法示例
2017/04/19 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
2018/05/11 PHP
laravel 解决crontab不执行的问题
2019/10/22 PHP
jQuery 源码分析笔记(5) jQuery.support
2011/06/19 Javascript
js使用函数绑定技术改变事件处理程序的作用域
2011/12/26 Javascript
提取字符串中年月日的函数代码
2013/11/05 Javascript
JavaScript的setAttribute兼容性问题解决方法
2013/11/11 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
jQuery+ajax实现动态执行脚本的方法
2015/01/27 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
2016/06/20 Javascript
javaScript中定义类或对象的五种方式总结
2016/12/04 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
Vue学习笔记进阶篇之函数化组件解析
2017/07/21 Javascript
Node.js利用断言模块assert进行单元测试的方法
2017/09/28 Javascript
VUE前端cookie简单操作
2017/10/17 Javascript
angular4实现tab栏切换的方法示例
2017/10/21 Javascript
jQuery实现form表单序列化转换为json对象功能示例
2018/05/23 jQuery
Vue.js数字输入框组件使用方法详解
2019/10/19 Javascript
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
Python语言实现将图片转化为html页面
2017/12/06 Python
利用Python2下载单张图片与爬取网页图片实例代码
2017/12/25 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
Python GUI库Tkiner使用方法代码示例
2020/11/27 Python
python如何调用php文件中的函数详解
2020/12/29 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
如何提高JDBC的性能
2013/04/30 面试题
销售人员求职的自我评价分享
2014/03/15 职场文书
工业自动化专业自荐信范文
2014/04/10 职场文书
家具公司总经理岗位职责
2014/07/08 职场文书
安全责任书模板
2014/07/22 职场文书
违纪开除通知书
2015/04/25 职场文书
2015年超市员工工作总结
2015/05/04 职场文书
悬疑名作《朋友游戏》动画无字ED宣传片 新角色公开
2022/04/13 日漫