小编给大家分享一下angularjs怎么实现简单的购物车功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1、能够嵌入动态文本于HTML页面。2、对浏览器事件做出响应。3、读写HTML元素。4、在数据被提交到服务器之前验证数据。5、检测访客的浏览器信息。6、控制cookies,包括创建和修改等。7、基于Node.js技术进行服务器端编程。
具体内容如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin: 0;
padding: 0;
margin-left: 10px;
}
li{
list-style: none;
}
.add,.reduce{
display: inline-block;
width: 20px;
height: 20px;
border: 1px solid #000;
text-align: center;
}
.line{
border-bottom: 1px solid #000;
}
</style>
<script src="angular-1.5.5/angular.min.js"></script>
<script>
var myapp=angular.module("myapp",[]);
myapp.controller("myCtrl",function($scope){
$scope.cart=[
{
"shopName":"趣艺工坊",
"checked":false,
"goods":[
{
"goodsName":"纯手工制作木质时钟精致家具装饰摆件",
"pic":"images/cart_01.jpg",
"price":150.00,
"number":1,
"checked":false
},
{
"goodsName":"木质蓝牙音箱包邮实木家具装饰摆件",
"pic":"images/cart_02.jpg",
"price":119.00,
"number":2,
"checked":true
},
{
"goodsName":"装饰木雕,独特趣味设计家具装饰摆件",
"pic":"images/cart_03.jpg",
"price":120.00,
"number":0,
"checked":false
}
]
},
{
"shopName":"邻街纸艺",
"checked":false,
"goods":[
{
"goodsName":"纯手工制作木质时钟精致家具装饰摆件",
"pic":"images/cart_04.jpg",
"price":89.00,
"number":2,
"checked":true
},
{
"goodsName":"木质蓝牙音箱包邮实木家具装饰摆件",
"pic":"images/cart_05.jpg",
"price":189.00,
"number":1,
"checked":false
}
]
},
{
"shopName":"纸来我往",
"checked":true,
"goods":[
{
"goodsName":"纯手工制作木质时钟精致家具装饰摆件",
"pic":"images/cart_06.jpg",
"price":289.00,
"number":3,
"checked":true
}
]
}
];
//点击加减按钮,数量加减;点击删除按钮,删除商品
$scope.reduce=function(goods){
goods.number--;
if (goods.number<=0) goods.number=0;
$scope.totalMoney();
};
$scope.add=function(kind){
kind.number++;
$scope.totalMoney();
};
$scope.delete=function(item,index){
item.goods.splice(index,1)
};
/*总金额计算*/
$scope.totalMoney=function(){
var total=0;
for(var i=0;i<$scope.cart.length;i++){
for(var j=0;j<$scope.cart[i].goods.length;j++){
if($scope.cart[i].goods[j].checked){
total+=$scope.cart[i].goods[j].price*$scope.cart[i].goods[j].number;
}
}
}
return total;
};
/*商铺选择*/
$scope.shopChecked=function(item){
if(item.checked==true){
for(var i=0;i<item.goods.length;i++){
item.goods[i].checked=true
}
}else {
for(var i=0;i<item.goods.length;i++){
item.goods[i].checked=false;
}
}
};
/*全部选择*/
$scope.allChecked=function(){
if($scope.allCheck){
for(var i=0;i<$scope.cart.length;i++){
$scope.cart[i].checked=true;
for(var j=0;j<$scope.cart[i].goods.length;j++){
$scope.cart[i].goods[j].checked=true;
}
}
}else {
for(var i=0;i<$scope.cart.length;i++){
$scope.cart[i].checked=false;
for(var j=0;j<$scope.cart[i].goods.length;j++){
$scope.cart[i].goods[j].checked=false;
}
}
}
};
})
</script>
</head>
<body ng-app="myapp" ng-controller="myCtrl">
<div><input type="checkbox" ng-model="allCheck" ng-click="allChecked()">总金额:<span>{{ totalMoney() | currency:"¥"}}</span></div>
<div ng-repeat="item in cart" class="line">
<div><input type="checkbox" ng-model="item.checked" ng-click="shopChecked(item)"><span>{{item.shopName}}</span></div>
<ul>
<li ng-repeat="kind in item.goods">
<input type="checkbox" ng-model="kind.checked"><span>{{kind.goodsName}}</span>
<p>{{kind.price}}</p>
<p><span class="add" ng-click="add(kind)">+</span>{{kind.number}}<span class="reduce" ng-click="reduce(kind)">-</span></p>
<p ng-click="delete(item,$index)">删除</p>
</li>
</ul>
</div>
</body>
</html>
以上是“angularjs怎么实现简单的购物车功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。