AngularJs如何实现购物车
短信预约 -IT技能 免费直播动态提醒
这篇文章给大家分享的是有关AngularJs如何实现购物车的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>购物车</title>
<script class="lazy" data-src="angularjs/angular.js"></script>
<style>
.box{
width: 100%;
border-bottom: 1px solid silver;
}
.box1{
width: 100%;
margin-top: 5px;
}
.box1 button{
width: 100px;
height: 40px;
background: crimson;
color: white;
text-align: center;
line-height: 40px;
float: right;
border: 0;
border-radius: 13px;
}
table{
width: 100%;
}
tr td button{
background: blue;
color: white;
border: 0;
}
</style>
<script>
var my=angular.module("my",[]);
my.controller("mys",function ($scope) {
$scope.arr=[
{name:"qq",price:12.9,number:2,state:false},
{name:"wx",price:23.9,number:1,state:false},
{name:"aa",price:99.9,number:1,state:false},
{name:"bb",price:10.9,number:5,state:false}
];
$scope.del=function (index) {
if(confirm("确定移除此项嘛?")){
$scope.arr.splice(index,1);
}
}
$scope.jia=function (index) {
$scope.arr[index].number++;
}
$scope.jian=function (index) {
if($scope.arr[index].number>1){
$scope.arr[index].number--;
}
else if($scope.arr[index].number==1){
if(confirm("用户是否删除该商品")){
$scope.arr.splice(index,1);
}
}
}
$scope.allSum=function () {
var allPrice=0;
for(var i=0;i<$scope.arr.length;i++){
allPrice+=$scope.<span ><strong>arr</strong></span>[<span >i</span>].<span ><strong>price</strong></span>*$scope.arr[i].number;
}
return allPrice;
};
$scope.alldel=function () {
if($scope.arr.length==0){
alert("您的购物车已空");
}else{
$scope.arr=[];
}
}
$scope.allCheck=false;
$scope.allx= function () {
for(var i=0;i<$scope.arr.length;i++){
if($scope.allCheck==true){
$scope.arr[i].state=true;
}else {
$scope.arr[i].state=false;
}
}
};
$scope.itemCheck = function () {
var flag = 0;
for(var i = 0; i<$scope.arr.length; i++){
if($scope.arr[i].state == true){
flag ++;
}
}
if(flag == $scope.arr.length){
$scope.allCheck = true;
}else{
$scope.allCheck = false;
}
};
$scope.pi=function () {
for(var i=0;i<$scope.arr.length;i++){
if($scope.arr[i].state==true){
$scope.arr.splice(i,1);
i--;
$scope.allCheck = false;
}
}
}
});
</script>
</head>
<body ng-app="my" ng-controller="mys">
<div class="box">
<h3>我的购物车</h3>
</div>
<div class="box1">
<button ng-click="alldel()" >清空购物车</button><button ng-click="pi()" >批量删除</button>
</div>
<div class="box2">
<table border="1">
<tr>
<th><input type="checkbox" ng-model="allCheck" ng-click="allx()"/></th>
<th>name</th>
<th>price</th>
<th>number</th>
<th>totalPrice</th>
<th>option</th>
</tr>
<!--用ng-repaet指令将对象遍历并渲染到页面中-->
<tr ng-repeat="item in arr">
<td><input type="checkbox" ng-model="item.state" ng-click="itemCheck()"/></td>
<td>{{item.name}}</td>
<td>{{item.price | currency:"¥:"}}</td>
<td><button ng-click="jian($index)">-</button>
<input type="text" value="{{item.number}}" />
<button ng-click="jia($index)">+</button>
</td>
<td>{{item.price*item.number | currency:"¥:"}}</td>
<td><button ng-click="del($index)">删除</button></td>
</tr>
<tr>
<td colspan="6">总金额<span ng-bind="allSum()|currency:'¥:'"></span></td>
</tr>
</table>
</div>
</body>
</html>
感谢各位的阅读!关于“AngularJs如何实现购物车”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341