angular+bootstrap写的简易购物车

直奔主题吧,抽时间使用angular和bootstrap写了一个简单地购物车,实现商品数量的添加,修改和删除

1. html页面代码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>购物车</title>
<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<style>
.container {
padding-top: 30px;
}

.shortA {
display: inline-block;
width: 50px;
}

.shortA input {
width: 100%;
height: 32px;
line-height: 32px;
border-radius: 4px;
text-align: center;
}

.form-control {
padding-left: 10px;
padding-right: 0;
}
</style>
</head>
<body ng-app="myApp">
<div class="container" ng-controller="cartController">
<form class="form-inline">
<div class="form-group">
<label for="goodsName">商品名称 </label>
<input type="text" class="form-control" ng-model="addCart.name" id="goodsName" placeholder="商品名称">
</div>

<div class="form-group">
<label for="goodsPrice">商品单价 </label>
<input type="number" class="form-control" ng-model="addCart.price" id="goodsPrice" placeholder="商品单价">
</div>

<div class="form-group">
<label for="goodsNum">数量 </label>
<input type="number" class="form-control" ng-model="addCart.quality" id="goodsNum" placeholder="商品数量">
</div>

<button type="submit" class="btn btn-success" ng-click="addNewCart()">添加商品</button>
</form>
<table class="table">
<thead>
<tr>
<th>产品编号</th>
<th>产品名称</th>
<th>购买数量</th>
<th>产品单价</th>
<th>产品总价</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in cart track by $index">
<td>{{ item.id }}</td>
<td>{{ item.name }}</td>
<td>
<a type="button" class="btn btn-primary" ng-click="changeCartNum($index, 0)">-</a>
<a class="shortA"><input type="text" name="" value="" ng-model="item.quality"></a>
<a type="button" class="btn btn-primary" ng-click="changeCartNum($index, 1)">+</a>
</td>
<td>{{ item.price }}</td>
<td>{{ item.price * item.quality }}</td>
<td><button type="button" class="btn btn-danger" ng-click="deleteCart($index)">删除</button></td>
</tr>
<tr ng-if="cartEmpty">
<td colspan="6">呜呜呜,购物车空空去也,快去添加吧!</td>
</tr>
<tr>
<td>总购买价 </td>
<td> {{ totalPrice() }}</td>
<td>总购买数量</td>
<td>{{ totaNmu() }}</td>
<td colspan="2"><button type="button" class="btn btn-danger" ng-click="clearAllCart()">清空购物车</button></td>
</tr>
</tbody>
</table>
</div>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.5/angular.min.js"></script>
<script type="text/javascript" src="index.js"></script>
</body>
</html>


2. 控制器部分代码:

angular.module('myApp', [])
.controller('cartController', function($scope, ) {
$scope.cart = [{
id: 1,
name: 'iphone5s',
quality: 3,
price: 4300
},
{
id: 2,
name: 'xiaomi',
quality: 2,
price: 2200
},
{
id: 3,
name: 'T-shirt',
quality: 5,
price: 150
},
{
id: 4,
name: 'weibo',
quality: 5,
price: 150
}
];
$scope.addCart = {
id: null,
name: '',
quality: null,
price: null
};
$scope.cartEmpty = false;
//计算购物车总价
$scope.totalPrice = function() {
var total = 0,
num = 0;
angular.forEach($scope.cart, function(item) {
total += item.quality * item.price;
num += item.quality
})
return total;
},
//计算购物车总数量
$scope.totaNmu = function() {
var num = 0;
angular.forEach($scope.cart, function(item) {
num += item.quality
})
return num;
},
//删除商品
$scope.deleteCart = function(obj) {
console.log(obj);
$scope.cart.splice(obj, 1);
return $scope.cart;
},
//操作商品数量
$scope.changeCartNum = function(obj, sign) {
if (sign == 1) {
$scope.cart[obj].quality++;
} else if (sign == 0 && $scope.cart[obj].quality > 1) {
$scope.cart[obj].quality--;
} else {
alert('亲,只剩一个了,不能再少了');
}
},
//清空购物车
$scope.clearAllCart = function() {
$scope.cart = [];
$scope.cartEmpty = true;
},
//添加购物商品
$scope.addNewCart = function() {
$scope.addCart.id = $scope.cart.length + 1;
$scope.cart.push($scope.addCart);
$scope.addCart = {};
}
})




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Angular是一个流行的JavaScript框架,用于构建Web应用程序。Ionic是基于Angular的开源移动应用开发框架,它提供了一套UI组件和具,帮助开发者构建跨平台的移动应用程序。 Swiper是一个流行的移动端滑动组件库,它提供了丰富的滑动效果和交互功能,可以用于创建漂亮的轮播图、图片浏览器等。 结合Angular和Ionic,你可以轻松地集成Swiper组件到你的移动应用中。首先,你需要在你的Angular项目中安装Swiper组件库。可以使用npm命令来安装: ``` npm install swiper --save``` 安装完成后,你可以在你的Ionic组件中引入Swiper组件,并在模板中使用它。以下是一个简单的示例: ```typescriptimport { Component } from '@angular/core'; import SwiperCore, { Navigation, Pagination } from 'swiper/core'; SwiperCore.use([Navigation, Pagination]); @Component({ selector: 'app-swiper', template: ` <swiper [navigation]="true" [pagination]="true"> <ng-template swiperSlide>Slide1</ng-template> <ng-template swiperSlide>Slide2</ng-template> <ng-template swiperSlide>Slide3</ng-template> </swiper> `, }) export class SwiperComponent {} ``` 在上面的示例中,我们首先引入了Swiper组件库,并注册了所需的Swiper模块(例如Navigation和Pagination)。然后,在组件的模板中,我们使用`<swiper>`标签创建了一个Swiper实例,并在内部添加了三个滑动的内容块。 你可以根据你的需求自定义Swiper的配置和样式。更多关于Swiper的用法和配置,你可以参考Swiper官方文档。 希望这可以帮助到你!如果你还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值