使用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 相关文章推荐
关于Aptana Studio生成自动备份文件的解决办法
Dec 23 Javascript
使用dynatrace-ajax跟踪JavaScript的性能
Apr 12 Javascript
html a标签-超链接中confirm方法使用介绍
Jan 04 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
Aug 23 Javascript
JavaScript开发人员的10个关键习惯小结
Dec 05 Javascript
javascript实现动态表头及表列的展现方法
Jul 14 Javascript
jQuery EasyUi 验证功能实例解析
Jan 06 Javascript
vue+vux实现移动端文件上传样式
Jul 28 Javascript
在Vue项目中使用d3.js的实例代码
May 01 Javascript
JS实现获取自定义属性data值的方法示例
Dec 19 Javascript
JavaScript定时器设置、使用与倒计时案例详解
Jul 08 Javascript
vue+AI智能机器人回复功能实现
Jul 16 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调用Oracle存储过程
2006/10/09 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
2019/10/18 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
七个很有意思的PHP函数
2014/05/12 Javascript
JS如何判断json是否为空
2016/07/06 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
微信小程序渲染性能调优小结
2019/07/30 Javascript
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
2019/11/15 Javascript
python数据结构之列表和元组的详解
2017/09/23 Python
opencv python 傅里叶变换的使用
2018/07/21 Python
python文件选择对话框的操作方法
2019/06/27 Python
python格式化输出保留2位小数的实现方法
2019/07/02 Python
利用Python检测URL状态
2019/07/31 Python
Django框架下静态模板的继承操作示例
2019/11/08 Python
浅谈Django前端后端值传递问题
2020/07/15 Python
解决Django响应JsonResponse返回json格式数据报错问题
2020/08/09 Python
Python爬虫UA伪装爬取的实例讲解
2021/02/19 Python
使用css3匹配手机屏幕横竖状态
2014/01/27 HTML / CSS
五款漂亮的纯CSS3动画按钮的实例教程
2014/11/21 HTML / CSS
世界上最伟大的马产品:Equiderma
2020/01/07 全球购物
行政工作个人的自我评价
2014/02/13 职场文书
生日寄语大全
2014/04/08 职场文书
企业人事任命书
2014/06/05 职场文书
激励员工的口号
2014/06/16 职场文书
助人为乐道德模范事迹材料
2014/08/16 职场文书
竞选学委演讲稿
2014/09/13 职场文书
购房个人委托书范本
2014/10/11 职场文书
优秀班主任申报材料
2014/12/16 职场文书
初中班长竞选稿
2015/11/20 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
2021/04/22 PostgreSQL
k8s部署redis cluster集群的实现
2021/06/24 Redis
MySQL的全局锁和表级锁的具体使用
2021/08/23 MySQL
vue中的可拖拽宽度div的实现示例
2022/04/08 Vue.js