时间:2021-05-28
一、页面搭建
1、html结构
采用BootStrap3来快速创建一个购物车表单样式。
主要功能:
A:列表数据所示
B:增加删除端口
C:清空购物车
D:商品数量的增减
E:动态计算商品价格以及总价
2、js逻辑部分
1 注册应用app
2 定义controller以即数据
3 在html中绑定应用以及controller,实现数据渲染
注意:
1、在html中通过ng-app注册应用,ng-controller来绑定控制器作用域,ng-repeat遍历商品数据data
2、在js中,angular提供了angular.forEach(obj,fn(item){})方法来遍历angular的数据,并可以在fn中对数据做进一步处理。此处计算总价便通过此方法
二、业务逻辑
1、总价计算操作
/* * 计算总价 * @method: angular.forEach() * @param: 1. $scope.obj:要遍历的scope上的数据 * 2. function(item){} 回调,在函数内部处理遍历的数据 * */ $scope.totalPrice=function(){ var total=0; angular.forEach($scope.data,function(item){ total+=item.quantity*item.price; }) return total } $scope.totalQuantity=function(){ var total=0; angular.forEach($scope.data,function(item){ total+=item.quantity; }) return total }说明:
1)、使用angular提供的forEach方法遍历当前数据,从而计算出所有数据的总价以及总数量
2、删除条目
/*移除某项 * @param:传入当前项的id作为参数,以确定移除哪一项 * */ $scope.removeItem=function(id){ var index=findIndex(); $scope.data.splice(index,1); }说明:
1)、为代码利用,所以抽取出来findIndex()方法用于确定当前操作的项,代码如下:
function findIndex(id){ var index=-1; angular.forEach($scope.data,function(value,key,obj){ if(value.id===id){ index=key; return index; } }) return index; }3.清空操作
在页面中,直接利用表达式,但data=null完成数据的清空操作
4. 增加和删除商品数量
$scope.add=function(id){ var index=findIndex($scope,id), item=$scope.data[index]; item.quantity++; } /*减少商品数量 * @description: * 减少当前项的数量,当仅剩一件时弹出对话框确认是否清空。是则调用removeItem方法清除当前项 * */ $scope.reduce=function(id){ var index=findIndex($scope,id), item=$scope.data[index]; if(item.quantity>1){ //判断当前项是否还能再减 item.quantity--; }else{ var makesure=confirm('确定要清空当前项吗??'); if(makesure){ $scope.removeItem(id) } } }总结:
此demo主要利用了angular的数据双向绑定特性,从而大大的简化了操作。
关键点:
1)、angular.forEach(obj,fn(value,key,obj)) 迭代器
2)、ng-click指令绑定点击事件。使用ng-click会自动触发angular的脏检查机制从而实时的更新视图
3)、ng-repeat指令遍历数据,渲染页面
4)、ng-show指令:通过其值来判断是否显示(原理是给元素加nghide类名)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
angular-utils-ui-breadcrumbs是一个用来自动生成面包屑导航栏的一个插件,需要依赖angular、UIRouter和bootstrap3
本文实例为大家分享了java实现购物车功能的具体代码,供大家参考,具体内容如下1需要实现1、实现淘淘商城的购物车功能2购物车功能2.1功能说明1、商品加入购物车
本文实例为大家分享了angular.js购物车功能的具体代码,供大家参考,具体内容如下购物车.box{width:100%;border-bottom:1pxs
自己写的一款基于bootstrap3和jquery的分页插件,初学jquery插件写法,写的很一般。拿出来献丑了。/***基于bootstrap3的jquery
本文实例讲述了PHP实现的购物车类。分享给大家供大家参考。具体分析如下:该购物车类是基于CodeIgniter的购物车类仿写实现的。购物车基本功能如下:1)将物